Ich habe die Python-Module construct
und statlib
mit setuptools
installiert:
sudo apt-get install python-setuptools
sudo easy_install statlib
sudo easy_install construct
Wie kann ich ihre Versionen über die Befehlszeile überprüfen?
Ich habe die Python-Module construct
und statlib
mit setuptools
installiert:
sudo apt-get install python-setuptools
sudo easy_install statlib
sudo easy_install construct
Wie kann ich ihre Versionen über die Befehlszeile überprüfen?
Verwenden Sie pip
anstelle von easy_install
.
Mit pip können Sie alle installierten Pakete und deren Versionen auflisten über:
pip freeze
Auf den meisten Linux-Systemen können Sie dies direkt an grep
weiterleiten (oder auf Windows an findstr
), um die Zeile für das spezielle Paket zu finden, an dem Sie interessiert sind.
pip freeze | grep lxml
lxml==2.3
pip freeze | findstr lxml
lxml==2.3
Für ein einzelnes Modul können Sie versuchen, auf das __version__
-Attribut zuzugreifen. Es gibt jedoch Module, die dies nicht unterstützen:
python -c "import requests; print(requests.__version__)"
2.14.2
python -c "import lxml; print(lxml.__version__)"
Traceback (most recent call last):
File "", line 1, in
AttributeError: 'module' object has no attribute 'version'
Schließlich, da die Befehle in Ihrer Frage mit sudo
beginnen, scheint es, dass Sie in die globale Python-Umgebung installieren. Ich rate dringend dazu, sich mit Python virtual environment Managern zu beschäftigen, zum Beispiel virtualenvwrapper.
Sie können versuchen
>>> import statlib
>>> print statlib.__version__
>>> import construct
>>> print contruct.__version__
Dies ist der von PEP 396 empfohlene Ansatz. Aber dieser PEP wurde nie angenommen und wurde verschoben. Tatsächlich scheint es immer mehr Unterstützung unter Python-Kernentwicklern zu geben, nicht ein __version__
Attribut einzuschließen, z.B. in _Entfernen von importlib_metadata.version._.
Python >= 3.8:
Wenn Sie Python >= 3.8 verwenden, können Sie ein Modul aus der integrierten Bibliothek dafür verwenden. Um die Version eines Pakets (in diesem Beispiel construct
) zu überprüfen, führen Sie folgenden Befehl aus:
>>> from importlib.metadata import version
>>> version('construct')
'4.3.1'
Python < 3.8:
Verwenden Sie das mit der pkg_resources
-Modul verteilt mit setuptools
-Bibliothek. Beachten Sie, dass der String, den Sie der Methode get_distribution
übergeben, dem PyPI-Eintrag entsprechen sollte.
>>> import pkg_resources
>>> pkg_resources.get_distribution('construct').version
'2.5.2'
Seitennotizen:
Beachten Sie, dass der String, den Sie der Methode get_distribution
übergeben, der Paketname wie im PyPI registriert sein sollte, nicht der Modulname, den Sie zu importieren versuchen. Leider sind diese nicht immer identisch (z.B. Sie führen pip install memcached
aus, aber import memcache
).
Wenn Sie diese Lösung von der Befehlszeile aus anwenden möchten, können Sie etwas Ähnliches tun:
python -c \ "import pkg_resources; print(pkg_resources.get_distribution('construct').version)"
Verwenden Sie pip show
, um die Version zu finden!
# Um die Paketversion zu erhalten, führen Sie den unten stehenden Befehl aus
pip show DEIN_PAKET_NAME | grep Version
Sie können pip show DEIN_PAKET_NAME
verwenden - dies gibt Ihnen alle Details zum Paket. Dies funktioniert auch unter Windows.
grep Version
wird in Linux verwendet, um die Version zu filtern und anzuzeigen.
Der bessere Weg, das zu tun, ist:
Für die Details eines bestimmten Pakets
pip show
Es zeigt den Paketnamen, die Version, den Autor, den Speicherort etc. an.
$ pip show numpy
Name: numpy
Version: 1.13.3
Summary: NumPy: array processing for numbers, strings, records, and objects.
Home-page: http://www.numpy.org
Author: NumPy Developers
Author-email: numpy-discussion@python.org
License: BSD
Location: c:\users\prowinjvm\appdata\local\programs\python\python36\lib\site-packages
Requires:
Für weitere Details: >>> pip help
pip
sollte aktualisiert werden, um dies zu tun.
pip install --upgrade pip
Auf Windows lautet der empfohlene Befehl:
python -m pip install --upgrade pip
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.