子进程无法执行带有 pandas 的文件
Subproccess cannot execute files with pandas
这几天我在做一些项目。我在名为
的项目中创建了 3 个可执行 python 文件
crawler.py
process_data.py
process_csv.py
然后我创建了run.py
来执行以上三个,一个接一个。
问题 -: 当我尝试使用 run.py
执行 process_csv.py
文件时,它显示
Traceback (most recent call last):
File "processors/process_csv.py", line 1, in <module>
import pandas as pd
ModuleNotFoundError: No module named 'pandas'
有趣的点-: 但是,如果我试图在不使用 run.py
的情况下单独执行 process_csv.py
,它是 运行 没有任何 pandas error
.
process_csv.py
import pandas as pd
# my code
run.py
import subprocess
subprocess.run(['python', 'processors/process_data.py']) # this line is working fine
subprocess.run(['python ', 'processors/process_csv.py']) # error occur in this line
当我几乎不浏览 Whosebug 时,我发现了一个 question that has some kind of relation to my question. I realized accepted answer 这个问题;也可以应用于我的问题。然后我对我的脚本应用了一些更改。
run.py
import subprocess
import sys
subprocess.run(['python', 'processors/process_data.py'])
subprocess.Popen([sys.executable, "processors/process_csv.py"]).communicate()
此解决方案 100% 适用于我的脚本。
这几天我在做一些项目。我在名为
的项目中创建了 3 个可执行 python 文件crawler.py
process_data.py
process_csv.py
然后我创建了run.py
来执行以上三个,一个接一个。
问题 -: 当我尝试使用 run.py
执行 process_csv.py
文件时,它显示
Traceback (most recent call last):
File "processors/process_csv.py", line 1, in <module>
import pandas as pd
ModuleNotFoundError: No module named 'pandas'
有趣的点-: 但是,如果我试图在不使用 run.py
的情况下单独执行 process_csv.py
,它是 运行 没有任何 pandas error
.
process_csv.py
import pandas as pd
# my code
run.py
import subprocess
subprocess.run(['python', 'processors/process_data.py']) # this line is working fine
subprocess.run(['python ', 'processors/process_csv.py']) # error occur in this line
当我几乎不浏览 Whosebug 时,我发现了一个 question that has some kind of relation to my question. I realized accepted answer 这个问题;也可以应用于我的问题。然后我对我的脚本应用了一些更改。
run.py
import subprocess
import sys
subprocess.run(['python', 'processors/process_data.py'])
subprocess.Popen([sys.executable, "processors/process_csv.py"]).communicate()
此解决方案 100% 适用于我的脚本。