Skip to main content
 首页 » 编程设计

virtualenv之使用 pip 到源代码安装 Python 包不会创建符号链接(symbolic link)

2025年01月19日22zhenyulu

所以我是 pip 和 virtualenv 的转换者。我发现的一件事是,当我使用包含如下内容的 requirements.txt 时,后续的 pip -E -r requirements.txt按预期工作..

PIL==1.1.7 
chardet==1.0.1 
distribute==0.6.14 
django-extensions==0.6 
django-profiles==0.2 

但是,当您通过拉取源代码树开始对您的 requirements.txt 感兴趣时,会看到以下行为。 1)它将源拉到“源”树中。 (这很好)2)它无法在站 pip 包树中创建符号链接(symbolic link),而是创建 *.link (.ie django-debug-toolbar.egg-link )
-e git+https://github.com/django-debug-toolbar/django-debug-toolbar.git@9067568b0bbf0c39322f5b761b05463685355b4f#egg=django_ 
debug_toolbar-dev 
-e hg+https://bitbucket.org/ubernostrum/django-registration@fad7080fe76955e7d0d3c97bc468ea8360260a6b#egg=django_registration 
-dev 
-e git://github.com/yourcelf/django-registration-defaults.git@df80e13fd5f4ee3c96d4508fa12278c47c660c37#egg=django_registrati 
on_defaults-dev 

问题是现在我必须从站 pip 包树创建到源树的符号链接(symbolic link)。
为了解决这个问题,我转移到站 pip 包树并开始创建符号链接(symbolic link)回到源树。

我敢肯定有更好的方法来做到这一 pip - 有人可以启发我吗?

请您参考如下方法:

您根本不必创建符号链接(symbolic link),即所谓的 *.egg-link virtualenv 的 site-packages 目录中的文件将充当 Python(实际上是 setuptools)级别的符号链接(symbolic link)。

编辑:我在这里添加了一些背景信息:http://github.com/pypa/pip/issues/435