2009-01-04 5 views
33

Ich lerne jetzt Python wegen des Django-Frameworks. Ich bin seit einigen Jahren Perl Programmierer und ich bin so an Perls Werkzeuge gewöhnt. Eines der Dinge, die ich wirklich vermisse, ist Perls CPAN und seine Tools. Gibt es in Python etwas Entsprechendes? Ich würde gerne in der Lage sein, Python-Module so einfach zu suchen, zu installieren und zu pflegen wie CPAN. Auch ein System, das Abhängigkeiten automatisch verarbeiten kann. Ich habe versucht, ein Modul in Python zu installieren, indem Sie eine Zip-Datei von einer Website herunterladen, es entpackt, dann tun:Gibt es für Python-Programmierer etwas, das dem CPAN von Perl entspricht?

sudo python setup.py install

aber es sieht für ein anderes Modul. Jetzt, so faul wie ich bin, mag ich es nicht, Abhängigkeiten und ähnliches zu jagen, gibt es einen leichten Weg?

Antwort

33

Sammy, werfen Sie einen Blick auf pip, die Sie tun können "pip installieren foo", und wird herunterladen und installieren ihre Abhängigkeiten (solange sie auf PyPI sind). Es gibt auch EasyInstall, aber pip soll das ersetzen.

10

Es könnte nützlich sein zu beachten, dass pip und easy_install beide die Python Package Index (PyPI), manchmal auch "Cheeseshop" genannt, verwenden, um nach Paketen zu suchen. Easy_install wird derzeit am meisten unterstützt, da es sowohl mit Setuptools als auch mit Distutil-Style-Packages funktioniert. Siehe James Bennett's commentary auf Python-Verpackung aus guten Gründen, Pip zu verwenden, und Ian Bicking's reply für einige Erläuterungen zu den Unterschieden.

+1

Jetzt, ein paar Jahre später, finden Sie unter http://StackOverflow.com/A/14753678/260122 für einen großartigen Überblick über die Paketinstallationssituation auf Python. – clacke

+0

Schauen Sie sich auch 'virtualenv' und Pythons 3.x 'native' venv' an, sie sind die empfohlene Methode zur Vorhersagbarkeit und Isolierung von Paketen, die in Ihrem System installiert sind. – clacke

+0

Für noch bessere Informationen auf dem neuesten Stand gibt es jetzt https://python-packaging-user-guide.readthedocs.org/en/latest/current/. (/ via http://stackoverflow.com/questions/6344076/differences-between-distribute-distutils-setuptools-and-distutils2/14753678#comment25440872_14753678) – clacke

2

Wenn Sie easy_install verwenden Sie, ich würde vorschlagen, Pakete, indem Sie die Installation ..

easy_install -v -Z package_name | tee date-package.log 

-Z (kurz für --always-unzip) packt die .egg Dateien Verzeichnisse so können Sie dann ..

less *.egg/EGG-INFO/requires.txt 
less *.egg/EGG-INFO/PKG-INFO 
egrep '^(Name|Version|Sum|...)' *.egg/EGG-INFO/PKG-INFO 

Auf Sammys ursprüngliche Frage, ein paar andere Paket-Indizes als PyPI sind:
Scipy und Scipy docs für wissenschaftliche Berechnungen
ohloh mit Code-Metriken.

Verwandte Themen