127

python setup.py installPyPI パッケージの実行時にこの警告に遭遇した人はいますか?

install_requiresパッケージに必要なものを定義します。多くの PyPI パッケージにはこのオプションがあります。どのようにして「不明な配布オプション」になるのでしょうか?

4

10 に答える 10

99

python setup.pyinstall_requiresをサポートしないdistutilsを使用します。setuptoolsは、(後継)を配布し、pip(どちらかを使用)も配布します。しかし、実際にはそれらを使用する必要があります。easy_installつまり、コマンドまたはを使用してsetuptoolsを呼び出しますpip install

もう1つの方法は、setuptoolsからsetup.pyにセットアップをインポートすることですが、これは標準ではなく、パッケージを使用したいすべての人がsetuptoolsをインストールする必要があります。

于 2012-05-21T13:28:57.037 に答える
17

注意注意!先の不完全な答え。Python ユニバースにおけるパッケージングの状態に関する「最新のメモ」を取得するには、このかなり詳細なエッセイをお読みください。

ansibleをビルド/インストールしようとしたときに、この問題に遭遇しました。問題は、distutils が実際にはinstall_requiresをサポートしていないことにあるようです。setuptoolsdistutils にオンザフライでモンキー パッチを適用する必要がありますが、そうではありません。おそらく、setuptools の最後のリリースが 2009 年の 0.6c11 であるのに対し、distutils はコア Python プロジェクトであるためです。

そのため、setuptools-0.6c11-py2.7.egg を手動でインストールした後でも、setup.py を実行すると distutils dist.py のみが取得され、site-packages/setuptools/ からのものは取得されません。

また、setuptools のドキュメントは、distutils ではなくez_setupを使用することを示唆しています。

ただし、setuptools 自体は現在ディストリビューションによって提供されており、setup() のフレーバーは install_requires をサポートしています。

于 2012-05-21T09:44:46.970 に答える
8

これは distutils からの警告であり、setuptools がインストールされていないことを示しています。http://pypi.python.org/pypi/setuptoolsからインストールすると、警告が削除されます。

于 2011-11-28T15:38:57.117 に答える
2

私が知る限り、これは標準ライブラリの基本クラスを呼び出す前に setuptools 固有のオプションを削除していない setuptools のバグです: https://bitbucket.org/pypa/setuptools/issue/29 /void-userwarnings-emitted-when-calling

import setuptools(setuptools 固有のオプションを使用する場合のように)に無条件があるsetup.py場合、スクリプトが失敗しないという事実はImportError、setuptools が適切にインストールされていることを示します。

次のように警告を消すことができます。

python -W ignore::UserWarning:distutils.dist setup.py <any-other-args>

setuptools がインストールされていない場合に完全に失敗する無条件のインポートを使用する場合にのみ、これを行ってください:)

(マージ後の setuptools リポジトリからのチェックアウトでも同じ動作が見られます。そのため、システム構成の問題ではなく setuptools のバグであると確信しています。マージ前の配布にも同じ問題があると思います)

于 2013-07-02T12:34:59.353 に答える