子进程无法执行带有 pandas 的文件

Subproccess cannot execute files with pandas

这几天我在做一些项目。我在名为

的项目中创建了 3 个可执行 python 文件
  1. crawler.py
  2. process_data.py
  3. 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% 适用于我的脚本。