python - 子进程无法使用 Pandas 执行文件

最近我在做一些项目。我在我的项目中创建了 3 个可执行的 python 文件,

  1. 爬虫.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 错误


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/

相关文章:

c# - 使用 Lamar 注入(inject)运行时对象

ruby-on-rails - 将复杂的哈希传递给 Sidekiq 作业

php - 仅显示 MySQL 列值计数

docker - 如何在 VSCode devcontainer 中使用 minikube?

c# - HttpClient : This instance has already starte

c# - EFCore5,使用 FromSqlRaw 和 [Owned] 属性

git - 如何在 "git checkout"的输出中着色分支名称?

python - 如何将路径参数转发到 VPC 链路端点?

ansible - 我怎样才能访问另一台服务器的ansible facts?

android - 在 Kotlin 中检查两个对象的某些(不是全部)属性是否相等的惯用方法