3

それらの setup.py Python パッケージで、いくつかの情報が提供されます。この情報は、卵の PKG_INFO ファイルで見つけることができます。

パッケージをインストールしたら、どうすればそれらにアクセスできますか?

たとえば、次のモジュールがあるとします。

setup(name='myproject',
      version='1.2.0.dev0',
      description='Demo of a setup.py file.',
      long_description=README + "\n\n" + CHANGELOG + "\n\n" + CONTRIBUTORS,
      license='Apache License (2.0)',
      classifiers=[
          "Programming Language :: Python",
          "Programming Language :: Python :: 2",
          "Programming Language :: Python :: 2.7",
          "Programming Language :: Python :: 3",
          "Programming Language :: Python :: 3.4",
          "Programming Language :: Python :: 3.5",
          "Programming Language :: Python :: Implementation :: CPython",
          "Programming Language :: Python :: Implementation :: PyPy",
          "Topic :: Internet :: WWW/HTTP",
          "Topic :: Internet :: WWW/HTTP :: WSGI :: Application",
          "License :: OSI Approved :: Apache Software License"
      ],
      keywords="web sync json storage services",
      url='https://github.com/Kinto/kinto')

Python を使用して、setup.py で提供された情報を取得するにはどうすればよいですか?

私はそれに似たものを考えていました:

import pkg_resource
url = pkg_resource.get_distribution(__package__).url

何か案が?

4

3 に答える 3

2

どうやらそれを可能にするプライベートAPIがありますpkg_resources

import pkg_resources
d = pkg_resources.get_distribution(__package__)
metadata = d._get_metadata(d.PKG_INFO)
home_page = [m for m in metadata if m.startswith('Home-page:')]
url = home_page[0].split(':', 1)[1].strip()

もっとうまくやれたらいいのに。

于 2016-07-29T13:02:09.587 に答える