2016-04-25 3 views
2

実際に のデータファイルは、setuptoolsを使用してsys.prefixディレクトリの外の任意の場所にインストールできますか?Pythonのsetuptoolsはdist-packagesの外部にファイルをインストールできますか?

documentationdata_filesディレクトリ一部に絶対パスを使用して、そうすることが可能であることを意味しますが、実際には先頭のスラッシュは無視しているようです。

たとえば、data_files=[('/opt/foo/bar', [...])]の場合、ファイルは/opt/foo/barディレクトリにインストールする必要があります。しかしそれらはすべて/usr/local/lib/python3.4/dist-packages/opt/foo/barで終わります。これは人や獣にとっては役に立たないものです。

私はそれが以前は動作していたと思われます - 最近変更/壊れていますか? (ピップ8.1.1、Pythonの3.4を使用して、20.9.0をsetuptoolsの)

答えて

1

最善の策は、あなた自身のcmdclassinstallをオーバーライドして、ファイルを自分で動かすことであろう。

1

ああ、それはすべてのピップのせいです。 sdistが与えられた場合、pipはインストールする前にホイールを作成すると便利です。しかし、ホイールcan't install files outside dist-packages

幸運にも、エラーをチャッキングしてピックにノックすると、先にsdistのインストールに落ちてしまいます。

# in setup.py 
if 'bdist_wheel' in sys.argv: 
    raise RuntimeError("This setup.py does not support wheels") 

(ベンジャミン・バッハのおかげで)

関連する問題