无法从终端运行 python 脚本,但可以从 PyCharm 运行:ModuleNotFoundError

问题描述 投票:0回答:1

我以前从未从终端运行过 python,所以我不知道涉及什么,我总是从 PyCharm 运行我的项目。我的项目在 PyCharm 上运行良好。我在 Linux 上运行。我的文件结构如下:

BackTesting        - This is my project
    BackTestPkg    - One of my packages
        __init__py
        Parameters.py
        ...
    MAX1           - My main development
        MAX1_Controller.py
        MAX1_Main.py
        ...
    TradingPkg     - My other package
        __init__.py
        PlatformLib.py
        ...

MAX1_Controller.py
调用
MAX1_Main.py
,并且都调用
BackTestPkg
TradingPkg
包中的模块,进而调用这 2 个包中的其他模块。

当我在linux终端执行以下操作时:

/data/stuart/Projects/Python/Env/bin/python /data/stuart/Projects/Python/BackTesting/MAX1/MAX1_Controller.py 'EpicConfigs.csv' 'MAX1.param'

我收到以下终端错误:

Traceback (most recent call last):
  File "/data/stuart/Projects/Python/BackTesting/MAX1/MAX1_Controller.py", line 10, in <module>
    import MAX1_Main as main
  File "/data/stuart/Projects/Python/BackTesting/MAX1/MAX1_Main.py", line 8, in <module>
    import TradingPkg.PlatformLib as pl
ModuleNotFoundError: No module named 'TradingPkg'

我从未在 PyCharm 之外使用过 python,所以我不知道我可以尝试什么。我看过的其他帖子看起来很复杂,而且对于我确信是一个简单的解决方案来说太过分了。有人能指出我正确的方向吗?

问候,斯图尔特M

python linux pycharm
1个回答
0
投票

我会定义一个requirements.txt 文件,其中包含您想要的软件包和版本。然后激活虚拟环境并安装该requirement.txt 文件,这应该可以修复“无名为模块”错误。

  1. 在根目录创建虚拟环境

    python3 -m venv venv

  2. 在 macOS/Linux 上激活虚拟环境:

    源 venv/bin/activate

    在窗户上

    venv\脚本激活

  3. 安装虚拟环境后,安装所需的软件包

    pip install -r 要求.txt

  4. 像平常一样运行你的Python项目

© www.soinside.com 2019 - 2024. All rights reserved.