使用 python 2.7 从并行目录导入
Importing from parallel directories with python 2.7
我最近开始从事一个项目,任务是实现一些新功能以及对这些功能进行单元测试。我一直在尝试将模块导入单元测试文件,但是当我 运行 它时,我遇到了 ImportError: No module named Developing.algorithms 当我尝试导入 test_algorithms.py
我都尝试过导入
from Developing import algorithms as algo
和
import Developing.algorithms as algo
我的结构类似于我做的这个测试项目:
Testing/
__init__.py
Developing/
__init__.py
algorithms.py
Master (Stable)/
Tests/
__init__.py
test_algorithms.py
而我运行进入:
ImportError: No module named Developing.algorithms
或者当我将导入更改为:从开发导入算法时
ImportError: No module named Developing
我读过很多类似的问题,从这些问题中我学会了将 init.py 文件包含到每个包含我要导入的文件的目录中。根据 PyCharm,我目前没有任何错误,但是当我从终端 运行 它时,我 运行 进入那个导入错误。我也不想修改系统 / python 路径,因为我读到每个使用该项目的人都必须这样做。那么如何在不更改路径的情况下从并行目录导入?
您需要将目录 Testing
添加到您的 PYTHONPATH
env 变量中,以便能够直接导入 Developing.algorithms
(或 Testing
上方的目录能够导入 Testing.Developing.algorithms
).
在windows中,可以将PYTHONPATH变量设置为-
set PYTHONPATH=\path\to\Testing\;%PYTHONPATH%
在Bash中,你可以试试-
export PYTHONPATH=/path/to/testing/:$PYTHONPATH
以编程方式(来自 python),您可以在尝试导入 Developing.algorithms
-
之前执行以下操作
import sys
sys.path.append('/path/to/Testing/')
from Developing import algorithms # or how ever you want to import.
此外,您不需要执行以上所有操作,任何人都可以 - 设置 PYTHONPATH env 变量,或使用 sys.path
.
我最近开始从事一个项目,任务是实现一些新功能以及对这些功能进行单元测试。我一直在尝试将模块导入单元测试文件,但是当我 运行 它时,我遇到了 ImportError: No module named Developing.algorithms 当我尝试导入 test_algorithms.py
我都尝试过导入
from Developing import algorithms as algo
和
import Developing.algorithms as algo
我的结构类似于我做的这个测试项目:
Testing/
__init__.py
Developing/
__init__.py
algorithms.py
Master (Stable)/
Tests/
__init__.py
test_algorithms.py
而我运行进入:
ImportError: No module named Developing.algorithms
或者当我将导入更改为:从开发导入算法时
ImportError: No module named Developing
我读过很多类似的问题,从这些问题中我学会了将 init.py 文件包含到每个包含我要导入的文件的目录中。根据 PyCharm,我目前没有任何错误,但是当我从终端 运行 它时,我 运行 进入那个导入错误。我也不想修改系统 / python 路径,因为我读到每个使用该项目的人都必须这样做。那么如何在不更改路径的情况下从并行目录导入?
您需要将目录 Testing
添加到您的 PYTHONPATH
env 变量中,以便能够直接导入 Developing.algorithms
(或 Testing
上方的目录能够导入 Testing.Developing.algorithms
).
在windows中,可以将PYTHONPATH变量设置为-
set PYTHONPATH=\path\to\Testing\;%PYTHONPATH%
在Bash中,你可以试试-
export PYTHONPATH=/path/to/testing/:$PYTHONPATH
以编程方式(来自 python),您可以在尝试导入 Developing.algorithms
-
import sys
sys.path.append('/path/to/Testing/')
from Developing import algorithms # or how ever you want to import.
此外,您不需要执行以上所有操作,任何人都可以 - 设置 PYTHONPATH env 变量,或使用 sys.path
.