Django 的 manage.py 显示旧命令
Django's manage.py shows old commands
我正在编写自己的 whl 程序包,在创建了一些新的管理命令并删除了一些旧的之后,我对自己非常满意。除了在构建我的 wheel-package(使用 setup.py bdist_wheel
)并将其安装到我的测试服务器(使用 pip install -U project-2.0b3-py2.py3-none-any.whl
)之后,我注意到 manage.py
的帮助仍然显示旧命令。它甚至会尝试 运行 旧命令,所以那里有一些旧东西,但我不太确定为什么或如何。
我尝试卸载而不是使用 pip uninstall project
升级并使用 pip freeze
列出已安装的软件包以确保它全部消失。甚至尝试 运行 旧命令,如果未安装软件包,这些命令会正确失败。
这些旧命令从何而来?
多田。找到了。长话短说:运行 setup.py clean --all bdist_wheel
。
因此,当卸载包后命令消失时,它一定是包中的东西。我通过 确认
> 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
我正在编写自己的 whl 程序包,在创建了一些新的管理命令并删除了一些旧的之后,我对自己非常满意。除了在构建我的 wheel-package(使用 setup.py bdist_wheel
)并将其安装到我的测试服务器(使用 pip install -U project-2.0b3-py2.py3-none-any.whl
)之后,我注意到 manage.py
的帮助仍然显示旧命令。它甚至会尝试 运行 旧命令,所以那里有一些旧东西,但我不太确定为什么或如何。
我尝试卸载而不是使用 pip uninstall project
升级并使用 pip freeze
列出已安装的软件包以确保它全部消失。甚至尝试 运行 旧命令,如果未安装软件包,这些命令会正确失败。
这些旧命令从何而来?
多田。找到了。长话短说:运行 setup.py clean --all bdist_wheel
。
因此,当卸载包后命令消失时,它一定是包中的东西。我通过 确认
> 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