从命令行运行python,仅项目导入失败

时间:2019-04-18 14:25:26

标签: python python-3.x virtualenv

我正在尝试从命令行而不是从IDE运行python代码。我已经从git克隆了我的项目,并制作了一个python 3虚拟环境。我已激活我的venv和类似python --version之类的命令,正确打印了venv中的python版本(与该版本相对应,我会在venv之外运行相同的命令,这与我的情况有所不同),所以我知道使用venv对。进入激活的venv后,我使用pip pip install -r requirements.txt从requirments.txt文件中安装了第三方软件包,但是我仍然无法运行我的代码。这是我的目录布局:

project_folder
├── env_vars
|   ├── __init__.py
|   └── env_vars.py
|
├── tests
|   ├── __init__.py
|   └── test.py
|
└── __init__.py

并且我正在尝试运行test.py,其中的导入看起来像:

import os  # python built in, gets past this line no problem
from 3rd_praty_lib import 3rd_party_thing  # this is a library I installed with pip, again gets past this line no problem
from env_vars import env_vars  # <- this is where the failure happens. referencing my own code

所以基本上我的问题是:

在测试目录中,我使用命令python test.py并收到此错误:

 File "test.py", line 3, in <module>
    from env_vars import env_vars
ModuleNotFoundError: No module named 'env_vars'

1 个答案:

答案 0 :(得分:0)

您应该将软件包打包到python路径

import sys
sys.path.insert(0, "/path/to/your/package_or_module")