删除符号链接不会从相应的 virtualenv 中清除包
Removing the symlink doesn't clear a package from the corresponding virtualenv
我刚刚通过 setuptools
设置了一个示例项目。 setup.py
是:
from setuptools import setup
setup(
name='test_project',
version='0.1',
packages=['test_project'],
zip_safe=False
)
我通过 python setup.py develop
将这个包添加到我的 virtualenv 中,它在我的 virtualenv 中放置了一个相应的符号链接:./lib/python2.7/site-packages/test-project.egg-link
.
要删除包,我认为从 virtualenv 中删除符号链接就足够了。但是删除符号链接后 python -c "import test_project"
仍然成功。还有我需要删除的缓存吗?
(我使用选项 --system-site-packages
创建了 virtualenv,如果它有任何重要性的话;这个包没有在系统范围内安装,即 python -c "import test_project"
在 virtualenv 之外失败。)
(我对 Python 2 和 Python 3 都有这个问题。)
您必须从站点包的 easy-install.pth
中删除您的包。在你的情况下应该是 ./lib/python2.7/site-packages/easy-install.pth
。
我发现从项目目录(或从任何地方 pip install -e [projectpath]
)通过 pip 使用 pip install -e .
安装 python 包的开发版本要方便得多。可以使用 pip uninstall [packagename]
轻松删除以这种方式安装的软件包
对我有用的解决方案。
它将在我们 运行 pip install -e .
所在的目录中创建一个 .egg-info
文件
转到该目录并删除 .egg-info
文件。
然后用 pip list
交叉检查
我刚刚通过 setuptools
设置了一个示例项目。 setup.py
是:
from setuptools import setup
setup(
name='test_project',
version='0.1',
packages=['test_project'],
zip_safe=False
)
我通过 python setup.py develop
将这个包添加到我的 virtualenv 中,它在我的 virtualenv 中放置了一个相应的符号链接:./lib/python2.7/site-packages/test-project.egg-link
.
要删除包,我认为从 virtualenv 中删除符号链接就足够了。但是删除符号链接后 python -c "import test_project"
仍然成功。还有我需要删除的缓存吗?
(我使用选项 --system-site-packages
创建了 virtualenv,如果它有任何重要性的话;这个包没有在系统范围内安装,即 python -c "import test_project"
在 virtualenv 之外失败。)
(我对 Python 2 和 Python 3 都有这个问题。)
您必须从站点包的 easy-install.pth
中删除您的包。在你的情况下应该是 ./lib/python2.7/site-packages/easy-install.pth
。
我发现从项目目录(或从任何地方 pip install -e [projectpath]
)通过 pip 使用 pip install -e .
安装 python 包的开发版本要方便得多。可以使用 pip uninstall [packagename]
对我有用的解决方案。
它将在我们 运行 pip install -e .
所在的目录中创建一个 .egg-info
文件
转到该目录并删除 .egg-info
文件。
然后用 pip list