gpt4 book ai didi

python - 安装 scikit-learn 时就地构建扩展有什么优势?

转载 作者:太空宇宙 更新时间:2023-11-03 17:08:02 25 4
gpt4 key购买 nike

我正在尝试安装 scikit-learn 的开发版本。这是 document 中关于它的声明:

If you run the development version, it is cumbersome to reinstall the package each time you update the sources. It is thus preferred that you add the scikit-learn directory to your PYTHONPATH and build the extension in place:

python setup.py build_ext --inplace

我不太明白这个指令。据我所知,--inplace选项是将构建的文件放入与纯python模块相同的目录中。它与避免重新安装有什么关系?

最佳答案

假设您的 scikit-learn 发行版位于 scikit-learn 目录中

git clone https://github.com/scikit-learn/scikit-learn.git
cd scikit-learn

您对重新安装的引用意味着当您运行时:

python setup.py install

安装脚本构建 pyx 文件,运行测试并将所有文件复制到操作系统的某个系统文件夹中。让我们假设您想要修复 scikit-learn 包中的一些错误,或者添加新功能。你会怎么做? scikit-learn 中的项目对通过安装脚本安装到某个位置的文件没有任何影响,因此,如果您更改 scikit-learn 文件夹中的这些文件并从终端导入 sklearn - 您将导入未更改的文件(因为您导入文件不是来自该 scikit-learn 目录,而是来自某些操作系统目录)。

如果您想导入最近修改过的源文件的 sklearn - 您可以通过 3 种方式实现:

  1. 每次修改scikit-learn库文件后都要运行python setup.py install,但比较麻烦

  2. 修改操作系统目录(安装 scikit-learn 的目录)中的库文件,但它通常需要管理员权限,如果您破坏它 - 您破坏了系统中其他脚本可能使用的库。

  3. 按照您在问题中提到的方式构建它,之后您可以进入 scikit-learn 源文件夹并运行 import sklearn,它将从当前文件夹导入库,其中包含任何您所做的修改。 (但是如果之前没有运行build_ext --inplace,则无法执行此类导入)

Look also 'develop' mode

关于python - 安装 scikit-learn 时就地构建扩展有什么优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34408734/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com