2017-06-01 4 views
1

今日私は私のパッケージ(pythonホイール)をpip経由で-t --targetオプションでインストールした後にファイルを削除しようとしました。 Post-install script with Python setuptools 私はこのように私のsetup.pyでインストールサブクラス化しています:ピップターゲットとポストインストールをsetup.py

class PostInstallCommand(install): 
    """Post-installation for installation mode.""" 
    def run(self): 
     install.run(self) 
     # here I am using 
     p = os.path.join(self.install_libbase,"myPackage/folder/removeThisPyc.pyc") 
     if os.path.isfile(p): 
      os.unlink(p) 
     #there is also self.install_platlib and 
     #self.install_purelib which seem to be used by pip distutil scheme 
     #Have not tested those yet 

python setup.py install

を実行している場合、このファイルは、インストール時に削除され動作します。 しかし

pip install path-to-my-wheel.whl

を介してこれは動作しないと、ファイルがまだそこにあります。

pip install -t /target/dir path-to-my-wheel.whl

は だから質問は、ピップはDistutilsのとかsetuptoolsのと何をやっているさ...どちらか動作しません。また、どのようにこの作業を行うことができますか? 私が気づいたもう一つの点は、pipが何も印刷されていないように見えることです。私はsetup.pyで冗長モードで印刷していますか? "pip"だけのものではなく、pythonからの完全な出力を見ることができますか?

答えて

0

教える読書: http://pythonwheels.com/ 2.インストールのための任意のコードの実行を避けてください。 (回避するsetup.py) 私は車輪とホイールを使用してsetup.pyを実行しないので、これを行う私の考えはごみです。私は明らかにインストールする私の小さな変更を数えるでしょうけれども、これは、展開およびインストールの間にあると思います https://github.com/pypa/packaging-problems/issues/64

...

インストールWHLをピップ時にPYCファイルの作成を回避する方法はあります

関連する問題