在setup.py文件中,我这样写道:
from distutils.core import setup
setup(
# skip a lot of information here..
scripts = ["chilin2/ChiLin2.py"],
)我已经在第一次成功设置了我的包。过了一段时间后,我将脚本的line 209更新为:
$ sed -n 209p chilin2/ChiLin2.py
macs2_on_merged.param["control_opt"] = "-c " + macs2_on_merged.input["control"]然后再次运行setup.py
$ sudo python3 setup.py install
running install
running build
running build_py
running build_scripts
running install_lib
running install_scripts
changing mode of /usr/local/bin/ChiLin2.py to 755
running install_egg_info
Removing /usr/local/lib/python3.2/site-packages/chilin2-0.1-py3.2.egg-info
Writing /usr/local/lib/python3.2/site-packages/chilin2-0.1-py3.2.egg-info但是,我发现脚本文件并没有被更改。
$ sed -n 209p /usr/local/bin/ChiLin2.py
macs2_on_merged["control_opt"] = "-c " + macs2_on_merged.input["control"]我尝试了setup.py clean,然后又尝试了setup.py install,但这不能解决问题。有人对此有什么想法吗?
(我发现包中的Chilin2.py比系统目录中的时间戳更老。这就是setup.py install不更新的原因吗?有没有办法解决这个问题?)
发布于 2013-03-25 22:01:58
尝试卸载此程序包,然后重新安装。
pip可以卸载包:
pip uninstall *packagename*发布于 2014-05-05 15:20:31
我发现软件包中的Chilin2.py的时间戳比系统目录中的时间戳更老。
这很奇怪。你能用这些步骤重现这个bug吗:
或--
如果你这样做了(即你在第一次安装后编辑了脚本),我不明白最新的脚本怎么会有比安装的脚本更早的修改时间。
这就是setup.py安装没有更新的原因吗?
当然: distutils会比较文件修改时间,以确定是否需要重新构建(对于脚本,构建阶段包括将文件复制到临时构建目录并调整shebangs)。
有办法解决这个问题吗?
$ touch chilin2/ChiLin2.pyhttps://stackoverflow.com/questions/15616189
复制相似问题