Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么“setup.py install”不更新脚本文件?_Python_Python 3.x_Pip_Setuptools_Setup.py - Fatal编程技术网

Python 为什么“setup.py install”不更新脚本文件?

Python 为什么“setup.py install”不更新脚本文件?,python,python-3.x,pip,setuptools,setup.py,Python,Python 3.x,Pip,Setuptools,Setup.py,在setup.py文件中,我这样写: from distutils.core import setup setup( # skip a lot of information here.. scripts = ["chilin2/ChiLin2.py"], ) 我第一次成功地安装了我的软件包。过了一会儿,我将脚本的行209更新为: $ sed -n 209p chilin2/ChiLin2.py macs2_on_merged.param["control_opt

setup.py
文件中,我这样写:

from distutils.core import setup
setup(
    # skip a lot of information here..
    scripts = ["chilin2/ChiLin2.py"],
)
我第一次成功地安装了我的软件包。过了一会儿,我将脚本的
行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
,但这并不能解决问题。有人对此有想法吗


(我发现包中的
Chilin2.py
的时间戳比系统目录中的时间戳老。这就是
setup.py install
没有更新的原因吗?有没有办法解决这个问题?

尝试卸载这个包,然后重新安装它

pip可以卸载程序包:

pip uninstall *packagename*
我发现包中的Chilin2.py的时间戳比系统目录中的时间戳老

这很奇怪。您是否可以通过以下步骤重现错误:

  • 创建脚本
  • setup.py安装(带有--install或--user选项以避免sudo)
  • 编辑脚本
  • setup.py安装
  • ?
  • 如果您这样做了(即,您在第一次安装后编辑了脚本),我不理解最新脚本的修改时间为何会比已安装的脚本早

    这就是setup.py安装不更新的原因吗

    当然:distutils比较文件修改时间,看是否需要重新构建(对于脚本,构建阶段包括将文件复制到临时构建目录并调整shebangs)

    有办法解决这个问题吗


    起初我以为这是一个错误,但那是不同的。我有同样的东西。我更改了一个函数,卸载了包,删除了所有pycache目录。但在重新安装软件包后,会使用旧版本的功能。同样的问题,你找到解决方案了吗?2020年也遇到同样的问题。
    $ touch chilin2/ChiLin2.py