gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-30 00:12:33 24 4
gpt4 key购买 nike

假设一个 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

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

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

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

# AFTER
import MyPackage

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

最佳答案

选项 1:

看来下面的命令可以满足我的需要:

sys.path.append(os.path.join(__file__.split(__info__)[0] + __info__), __info__)

选项 2:

根据 __init__.py 的位置,这也有效:

sys.path.append(os.path.dirname(os.path.split(inspect.getfile(MyPackage))[0]))

选项 3:

此外,ResourceManager API似乎提供了额外的方法。

关于Python - 在 setup.py 安装之前和之后导入包模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53648900/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com