7

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が更新されない理由ですか?これを解決する方法はありますか?)

4

2 に答える 2

1

このパッケージをアンインストールしてから再インストールしてみてください。

pipはパッケージをアンインストールできます:

pip uninstall *packagename*
于 2013-03-25T14:01:58.380 に答える
1

パッケージ内のChilin2.pyには、システムディレクトリ内のタイムスタンプよりも古いタイムスタンプが付いていることがわかりました。

これは奇妙です。次の手順でバグを再現できますか?

  1. スクリプトを作成します。
  2. setup.py install(sudoを回避するための--installまたは--userオプションを使用)
  3. スクリプトを編集します。
  4. setup.pyインストール

それを行った場合(つまり、最初のインストール後にスクリプトを編集した場合)、最新のスクリプトがインストールされたスクリプトよりも古い変更時間をどのように持つことができるかわかりません。

setup.pyのインストールが更新されないのはそのためですか?

間違いなく:distutilsはファイルの変更時間を比較して、再ビルドが必要かどうかを確認します(スクリプトの場合、ビルドフェーズは、ファイルを一時ビルドディレクトリにコピーし、シェバンを調整することで構成されます)。

これを解決する方法はありますか?

$ touch chilin2/ChiLin2.py
于 2014-05-05T07:20:31.350 に答える