我正在尝试安装scikit-learn的开发版本。以下是document中的声明:
如果运行开发版本,每次更新源代码时重新安装软件包都很麻烦。因此,您最好将scikit-learn目录添加到
img{ height: 200px; width: auto }
并构建扩展名:
PYTHONPATH
我不太明白这条指令。据我所知,python setup.py build_ext --inplace
选项是将构建的文件放在与纯python模块相同的目录中。它与避免重新安装有什么关系?
答案 0 :(得分:1)
假设您在scikit-learn dir中有scikit-learn发行版
git clone https://github.com/scikit-learn/scikit-learn.git
cd scikit-learn
关于重新安装的引用意味着当你运行时:
python setup.py install
安装脚本构建pyx文件,运行测试并将所有文件复制到OS的某个系统文件夹中。让我们假设您想要修复scikit-learn包中的一些错误,或添加新功能。你会怎么做? scikit-learn中的项目对安装脚本安装到某个位置的文件没有任何影响,因此如果您在scikit-learn文件夹中更改这些文件并从终端导入sklearn - 您将导入未更改的文件(因为您导入文件不是来自那个scikit-learn目录,而是来自某个OS目录。)
如果您想使用最近修改的源导入sklearn,您可以通过3种方式实现它:
每次修改scikit-learn库文件后运行python setup.py install
,但这很麻烦
修改操作系统目录中的库文件(安装了scikit-learn的目录),但它通常需要管理员权限,如果你破坏了它 - 你就会破坏可能被系统中其他脚本使用的库。 / p>
按照您提到的那样构建它,之后您可以进入scikit-learn sources文件夹并运行import sklearn
,它将从当前文件夹中导入库,并进行任何修改。我做了。 (但是,如果不先前运行build_ext --inplace
)