在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
没有更新的原因吗?有办法解决这个问题吗? )
答案 0 :(得分:1)
尝试卸载此软件包,然后重新安装。
pip可以卸载软件包:
pip uninstall *packagename*
答案 1 :(得分:1)
我发现包中的Chilin2.py的时间戳比系统目录中的时间戳长。
这很奇怪。你能用以下步骤重现这个错误:
如果您这样做(即您在首次安装后编辑了脚本),我不明白最新脚本的修改时间是否比安装的脚本早。
这是setup.py安装不更新的原因吗?
当然:distutils比较文件修改时间以查看是否需要重新构建(对于脚本,构建阶段包括将文件复制到临时构建目录并调整shebang)。
有没有办法解决这个问题?
$ touch chilin2/ChiLin2.py