删除符号链接不会清除相应virtualenv中的包

时间:2017-04-03 14:27:06

标签: python virtualenv setuptools

我刚刚通过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都有这个问题。)

2 个答案:

答案 0 :(得分:4)

您必须从网站包中的easy-install.pth删除您的包裹。在你的情况下,它应该是./lib/python2.7/site-packages/easy-install.pth

我发现从项目目录(或pip install -e .的任何地方)通过带有pip install -e [projectpath]的pip安装python包的开发版本会更方便。使用pip uninstall [packagename]

可以轻松删除以这种方式安装的软件包

答案 1 :(得分:0)

对我有用的解决方案。 它将在我们运行.egg-info的目录内创建一个pip install -e .文件 转到该目录并删除.egg-info文件。 然后与pip list

进行交叉检查