【发布时间】:2021-01-23 06:36:48
【问题描述】:
我已经设置了一个用于分发的 python 包,过去它总是成功构建。 包的基本结构如下:
package
|--folder 1
|--init
|--folder 2
|--init
setup.py
LICENSE.txt
MANIFEST.txt
最近我注意到包“记住”旧代码。它不会完全更新最新的模块和代码。在文件夹 1 被完全删除(以及对其的所有引用,在 inits 中导入)并创建文件夹 3 的情况下,文件夹 1 仍被构建到新包中。一些 python 文件也不会更新,而其他文件则使用新版本成功更新。
我目前在 inits 中使用 __all__ = [] 而不是导入(我非常怀疑这是导致问题的原因,因为构建(据我了解)只需要每个目录中的 __init__ python 文件。
如何完全转储先前构建的软件包的“内存”?
编辑
我确实查看了 egg 信息以及包构建的输出。构建本身似乎正在创建所有正确的文件/文件夹。
在再次安装软件包之前,我尝试使用其名称 pip uninstall package 以及 pip uninstall package.2.0.0.whl 使用 pip 卸载软件包。在新的虚拟环境中从头开始安装也会产生相同的结果。
【问题讨论】:
-
你是如何构建你的包的?
-
我正在使用 setup.py 文件和命令
python setup.py sdist bdist_wheel构建包 setup.py 中的一些设置是:name=package_name version=2.0.0(我也尝试过更新) include_package_data = True 包描述、要求、url等附加项都包括在内。它使用 setuptools 设置