Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django';s manage.py显示旧命令_Python_Django_Setup.py_Django Manage.py_Manage.py - Fatal编程技术网

Python Django';s manage.py显示旧命令

Python Django';s manage.py显示旧命令,python,django,setup.py,django-manage.py,manage.py,Python,Django,Setup.py,Django Manage.py,Manage.py,我正在编写自己的whl包,在创建了一些新的管理命令并删除了一些旧命令之后,我对自己感到非常满意。除了构建我的控制盘包(使用setup.py bdist\U wheel)并将其安装到测试服务器上(使用pip install-U project-2.0b3-py2.py3 none any.whl),我注意到manage.py的帮助仍然显示旧的命令。它甚至会尝试运行旧的命令,所以那里有一些旧的东西,但我不太清楚为什么或者如何 我尝试用pip uninstall project卸载而不是升级,并用pi

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

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


这些旧命令来自哪里?

Tada。找到了。TL;DR:run
setup.py clean——所有bdist\U轮子

因此,当卸载软件包后命令消失时,它一定是软件包中的某个东西。我这样做证实了这一点

> 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——所有的
都会。方便地,它可以组合成

setup.py clean --all bdist_wheel

你说得对,我忘记了
--all
选项:
python setup.py clean--all-bdist\u-wheel
。我在项目模板的setup conf中有
all=1
,因此经常忘记在命令中包含它。