最近我在做一些项目。我在我的项目中创建了 3 个可执行的 python 文件,
爬虫.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 错误
。
process_csv.py
import pandas as pd
# my code
运行.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
最佳答案
当我几乎不浏览 Stackoverflow 时,我发现了一个 question这与我的问题有某种关系。我意识到 accepted answer那个问题;也可以应用于我的问题。然后我对我的脚本应用了一些更改。
运行.py
import subprocess
import sys
subprocess.run(['python', 'processors/process_data.py'])
subprocess.Popen([sys.executable, "processors/process_csv.py"]).communicate()
此解决方案 100% 适用于我的脚本。
https://stackoverflow.com/questions/65246047/