Django的manage.py显示了旧命令

问题描述 投票:2回答:1

我正在编写自己的whl-package,在创建了一些新的管理命令并删除了一些旧的命令后,我对自己非常满意。除了在构建我的wheel-package(使用setup.py bdist_wheel)并将其安装在我的测试服务器(使用pip install -U project-2.0b3-py2.py3-none-any.whl)之后,我注意到manage.py的帮助仍然显示旧的命令。它甚至会尝试运行旧的命令,所以那里有一些旧的东西,但我不太清楚为什么或如何。

我尝试卸载而不是使用pip uninstall project升级并列出已安装的包与pip freeze以确保它已全部消失。甚至尝试运行旧命令,这些命令在未安装软件包时会正确失败。

这些旧命令来自哪里?

python django setup.py django-manage.py manage.py
1个回答
2
投票

田田。找到了。 TL; DR:运行setup.py clean --all bdist_wheel


So when the commands were gone after uninstalling the package, it must be something in the package. I confirmed that by doing
> strings project-2.0b3-py2.py3-none-any.whl | grep old_command

这确实发现了我旧命令的痕迹。所以他们从某个地方进入我的包装。我搬到了我的开发箱并跑了

> find . -iname *old_command*
./build/lib/project/management/commands/old_command.py

虽然我已经从我的项目中删除了该文件,但它显然仍然在build目录中。一个简单的清洁不会摆脱它,但clean --all。方便地,它可以组合到

setup.py clean --all bdist_wheel
© www.soinside.com 2019 - 2024. All rights reserved.