我有一个构建扩展的 setup.py 文件。 如果我更改其中一个源文件,distutils 会识别这一点并重建扩展,显示所有编译/链接命令。
但是,如果我唯一更改的是 setup.py(我正在摆弄试图使库依赖项工作),那么它似乎不会重建(例如,没有显示任何编译/链接命令)。 我已经通过删除该行中的一个源文件对此进行了测试
sources = ['foo.c', 'bar.c' ...]
当我pip install -e .
或python setup.py install
时,它仍然为扩展名创建一个新文件,但它必须是缓存在某处的版本,因为它不应该编译。
如何清除此缓存? 我试过了
python setup.py clean --all
或在执行pip install -e .
时使用--ignore-installed
和--no-cache-dir
标志
我发现使其重建的唯一方法是,如果我在源文件中添加垃圾,触发重建和错误,删除垃圾,然后再次pip install -e .
......
- 只需在路径下删除
site-packages
与之相关的任何文件,您可能会发现有时有多个版本或一些打包为 zip 文件的文件或运行以下命令python setup.py clean --all
。 - 重新编译并重新安装。
但我建议使用 python setup.py develop
这样你就不需要每次更改都重新安装它,您将能够经常编辑您的代码,而不必再次重新安装它。 python setup.py install
通常用于安装现成的第三方软件包。
查看此处以更好地了解 python 打包。
总结:
python setup.py clean --all
python setup.py develop
我需要运行
python setup.py clean --all
python setup.py develop
感谢DhiaTN带我去那里。