【问题标题】:Python package install using pip to source doesn't create a symlink使用 pip 到源代码安装 Python 包不会创建符号链接
【发布时间】:2011-10-28 06:55:16
【问题描述】:

所以我是 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)它无法在站点包树中创建符号链接,而是创建 *.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 错误:github.com/pypa/pip/issues/435
  • 你可能想停止使用pip -E;它天生就被破坏了,尤其是 --no-site-packages virtualenvs(现在是 virtualenv 1.7 中的默认设置)。它已在 pip 的开发版本中删除,并将在下一个版本中消失。相反,只需使用每个 virtualenv 中自动安装的 pip 副本。

标签: virtualenv pip


【解决方案1】:

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

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

【讨论】:

  • 你知道它是如何工作的吗?这是setuptools的习语吗?没关系 - 您在这里的回答 (github.com/pypa/pip/issues/435) 提供了所有必要的链接!太棒了
猜你喜欢
  • 2012-01-24
  • 2021-01-01
  • 2018-08-23
  • 2015-08-19
  • 2022-12-21
  • 1970-01-01
  • 1970-01-01
  • 2018-06-27
  • 1970-01-01
相关资源
最近更新 更多