python-aptを使用してパッケージの説明を取得する方法


9

私は、エンドユーザーがパッケージを簡単に扱えるようにするグラフィカルプログラムを作成しようとしています。ただし、他の情報の横にあるパッケージの説明を取得する際に問題が発生しています。

私はpython-apt APIをここで見ました、そして私はapt.package.Version() クラスを扱わなければならないことを理解しました。

しかし、私がそれを使おうとしたとき、私が得たものはすべて次のようないくつかのエラーです:

Traceback (most recent call last):
File "./myprogram", line 6, in <module>
print package.description
File "/usr/lib/python2.7/dist-packages/apt/package.py", line 374, in description
dsc = self._translated_records.long_desc
File "/usr/lib/python2.7/dist-packages/apt/package.py", line 315, in _translated_records
desc_iter = self._cand.translated_description
AttributeError: 'list' object has no attribute 'translated_description'

では、apt.package.Version()クラスの実行例を作成できる団体はありますか?

ありがとう!


長い説明があることを確認します(apt-cache show一部のパッケージについて行う)。ドキュメントには長い説明が記載されているため、askubuntu.com / a / 558389/158442が関連する可能性があります。
muru、2015年

回答:


8

次のpythonコマンドを使用すると、詳細な説明が表示されます。

$ python
Python 2.7.6 (default, Mar 22 2014, 22:59:56) 
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import apt
>>> cache = apt.Cache()
>>> pkg = cache['python2.7']
>>> pkg
<Package: name:'python2.7' architecture='amd64' id:1247L>
>>> pkg.versions
<VersionList: ['2.7.6-8']>
>>> pkg.versions[0]
<Version: package:'python2.7' version:'2.7.6-8'>
>>> pkg.versions[0].description
u'Python is a high-level, interactive, object-oriented language. Its 2.7 version
includes an extensive class library with lots of goodies for network programming, 
system administration, sounds and graphics.'
>>> 

:私のロケールはに設定されているLANG=en_US.UTF-8ため、翻訳された文字列はここでは問題にならない可能性があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.