【发布时间】: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 <stuff>,这听起来正是你想要做的,那么问题是什么? -
最后,“很多资源”提到
easy_install的原因是很多资源已经过时了。如果您正在阅读旧的 StackOverflow 答案、博客文章、印刷书籍等,它们不太可能自最初编写以来就已更新。