【问题标题】:Pip install forked github-repoPip install forked github-repo
【发布时间】:2015-05-17 20:54:16
【问题描述】:

我正在做一个项目,需要一些与 sklearn 包不同的功能。我已经分叉了 repo 并推送了我的更改。我知道我可以通过 pip 从 github 安装:

pip install git+git://github.com/wdonahoe/scikit-learn-fork.git@master

然后我可以使用 setup.py 安装软件包:

python setup.py install

但是,我对执行此步骤后的操作感到困惑。运行 setup.py 会在 .../dist-packages/ 中创建一些 .egg-info 文件夹和 .egg-links 文件,但我不确定如何处理它们。理想情况下,我想在 .../projects/my_project 中进入我的项目并说类似

from sklearn-my-version import <stuff> 

或者直接换掉

from sklearn import <stuff>

我也有点困惑,因为这个问题上的很多资源都提到了使用 easy_install,我认为它被 pip 取代了。

【问题讨论】:

  • 首先,您不想在同一个包上进行两次安装。 pip install git+…python setup.py install(或 pip install .),不能同时使用。
  • 同时,其中任何一个都会将软件包安装到您的(系统、用户或虚拟环境)dist-packages 或 site-packages。 (它不会进入您的项目中的任何地方。如果您认为这是您想要的,那么您真正想要的很可能是一个 virtualenv。)您可以像任何其他包一样使用import 包。假设它安装为sklearn,你可以只做from sklearn import &lt;stuff&gt;,这听起来正是你想要做的,那么问题是什么?
  • 最后,“很多资源”提到easy_install的原因是很多资源已经过时了。如果您正在阅读旧的 StackOverflow 答案、博客文章、印刷书籍等,它们不太可能自最初编写以来就已更新。

标签: python pip


【解决方案1】:

仅使用(-e 标志让您通过将其安装为 git repo 来 git pull 更新)再次尝试

pip install -e git+git://github.com/wdonahoe/scikit-learn-fork.git@master#egg=scikit-learn

更多关于鸡蛋: http://mrtopf.de/blog/en/a-small-introduction-to-python-eggs/

【讨论】:

  • 关于-e 选项的好提示!
  • 华丽的通用答案。
  • 当我这样做时,它会为我当前目录中的安装创建一个/src。从哪里运行这些命令的最佳位置?
猜你喜欢
  • 2017-03-24
  • 1970-01-01
  • 2016-07-08
  • 1970-01-01
  • 1970-01-01
  • 2015-11-28
  • 2023-03-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多