首页 > 解决方案 > 子进程无法使用 pandas 执行文件

问题描述

这些天我正在做一些项目。我在我的项目中创建了 3 个可执行的 python 文件,称为,

  1. crawler.py
  2. process_data.py
  3. process_csv.py

然后我创建run.py了执行上述三个,一个接一个。


问题-:当我尝试使用 执行process_csv.py文件时run.py,它向我展示了

Traceback (most recent call last):
  File "processors/process_csv.py", line 1, in <module>
    import pandas as pd
ModuleNotFoundError: No module named 'pandas'

有趣的一点-:但是,如果我尝试在process_csv.py不使用的情况下单独执行run.py,它会在没有任何 pandas error.


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

标签: pythonpython-3.xpandaspycharmsubprocess

解决方案


当我几乎不浏览 Stackoverflow 时,我发现了一个与我的问题有某种关系的问题。我意识到这个问题的公认答案;也可以应用于我的问题。然后我对我的脚本进行了一些更改。

运行.py

import subprocess
import sys

subprocess.run(['python', 'processors/process_data.py']) 
subprocess.Popen([sys.executable, "processors/process_csv.py"]).communicate()

该解决方案 100% 适用于我的脚本。


推荐阅读