我有一个构建扩展的 setup.py 文件。如果我更改其中一个源文件,distutils 会识别这一点并重建扩展,显示所有编译/链接命令。
但是,如果我唯一更改的是 setup.py (我正在摆弄库依赖项工作),那么它似乎不会重建(例如,没有任何编译/链接命令显示)。我已经通过删除该行中的源文件之一对此进行了测试
sources = ['foo.c', 'bar.c' ...]
当我pip install -e .
or python setup.py install
,它仍然为扩展创建一个新文件,但它必须是缓存在某处的版本,因为它不应该编译。
如何清除此缓存?我努力了
python setup.py clean --all
或使用--ignore-installed
and --no-cache-dir
做时标记pip install -e .
我发现重建它的唯一方法是在源文件中添加垃圾,触发重建和错误,删除垃圾,然后pip install -e .
再次...
- 删除下即可
site-packages
路径任何与其相关的文件,有时您可能会发现多个版本或某些文件打包为 zip 文件或运行以下命令python setup.py clean --all
.
- 重新编译并再次安装。
但我会推荐使用python setup.py develop
因此,您不需要每次更改时都重新安装它,您将能够经常编辑代码,而不必再次重新安装。python setup.py install
通常用于安装随时可用的第三方软件包。
检查此处以更好地理解蟒蛇包装 http://www.ewencp.org/blog/a-brief-introduction-to-packaging-python/.
Summary:
python setup.py clean --all
python setup.py develop
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)