Python-在setup.py安装之前和之后导入软件包模块

时间:2018-12-06 10:07:48

标签: python python-2.7 package python-import pypi

假设一个Python包(例如MyPackage)由几个模块(例如MyModule1.pyMyModule2.py)和一组单元测试(例如在MyPackage_test.py中)组成)。

.
├── MyPackage
│   ├── __init__.py
│   ├── MyModule1.py
│   └── MyModule2.py
├── README.md
├── requirements.txt
├── setup.py
└── tests
    └── MyPackage_test.py

我想在MyModule1.py的单元测试中导入MyPackage_test.py的功能。具体来说,我想通过setup.py install MyPackage导入软件包安装之前和之后的功能。

当前,我正在使用两个单独的命令,具体取决于软件包安装之前或之后的状态:

# BEFORE
import sys, os
sys.path.append(os.path.join(os.path.dirname(__file__), '..', 'MyPackage'))

# AFTER
import MyPackage

这可以用一个命令完成吗?

2 个答案:

答案 0 :(得分:2)

选项1

以下命令似乎可以满足我的要求:

System.out.println(x*y);

选项2

这也取决于sys.path.append(os.path.join(__file__.split(__info__)[0] + __info__), __info__) 的位置:

__init__.py

选项3

此外,ResourceManager API似乎还提供了其他方法。

答案 1 :(得分:0)

在pycharm IDE中,可以通过将工作目录设置为包含所有文件的文件夹来轻松导入方法。
然后,在MyPackage __init__.py文件中,从{{1}导入所有功能}和MyModule1.py
 然后在MyPackage_test.py中,您可以使用

MyModule2.py