Heim >Backend-Entwicklung >Python-Tutorial >So installieren Sie Python Egg

So installieren Sie Python Egg

藏色散人
藏色散人Original
2019-07-05 09:20:5013908Durchsuche

So installieren Sie Python Egg

Studenten, die häufig mit Python in Berührung kommen, bemerken möglicherweise, dass bei der Installation eines Python-Pakets eines Drittanbieters möglicherweise der Befehl easy_install verwendet wird. easy_install ist ein Befehl, der im von PEAK (Python Enterprise Application Kit) entwickelten Setuptools-Paket enthalten ist. Er wird zur Installation des Egg-Pakets verwendet. Das Egg-Paket ist derzeit die beliebteste Methode zum Verpacken und Bereitstellen von Python-Anwendungen.

Wie erstelle und installiere ich ein Eierpaket? Ich werde es im Folgenden kurz analysieren.

1.1 Setuptools installieren

Installieren Sie zunächst das Setuptools-Tool. Sie können die apt-Installation direkt unter Debian/Ubuntu verwenden: :

$ sudo apt-get install python-setuptools

Wenn Sie es manuell installieren, gibt es zwei Möglichkeiten:

Installation über das Bootprogramm ez_setup.py. Dieses Boot-Programm lädt die neueste Version der Setuptools zur Installation aus dem Internet herunter und kann auch die lokalen Setuptools aktualisieren.

$ wget http://peak.telecommunity.com/dist/ez_setup.py
$ sudo python ez_setup.py

Setuptools aktualisieren: :

$ sudo python ez_setup.py -U setuptools

oder laden Sie das Ei-Paket der Setuptools herunter, um es zu installieren. Der Download der neuesten Version kann hier angesehen werden. Installieren Sie es nach dem Herunterladen über sh.

$ wget http://pypi.python.org/packages/2.6/s/setuptools/setuptools-0.6c11-py2.6.egg
$ sudo sh setuptools-0.6c11-py2.6.egg

Sie können jetzt den Befehl easy_install verwenden, um andere Eierpakete zu installieren.

1.2 Erstellen Sie Ihr eigenes Eierpaket

Ich installiere immer die Eierpakete anderer Leute. Möchten Sie auch Ihr eigenes Eierpaket erstellen? Okay, als nächstes machen wir selbst eine einfache Eiertüte. Erstellen Sie zunächst das Projektverzeichnis egg-demo und initialisieren Sie eine setup.py-Datei:

$ mkdir egg-demo
$ cd egg-demo
$ touch setup.py
$ ls
setup.py

Das Folgende dient hauptsächlich dem Ausfüllen von setup.py. setup.py ist eigentlich die Konfigurationsdatei des Python-Toolpakets distutils, und setuptools basiert auf distutils. Konfigurieren Sie Verpackungsinformationen über die Setup-Funktion in setup.py. Zuerst müssen wir das Funktionssetup von setuptools vorstellen. Das Setup von setuptools ist eigentlich die Setup-Funktion von distutils. Füllen Sie setup.py mit dem folgenden Inhalt aus:

$ cat setup.py
#!/usr/bin/env python
#-*- coding:utf-8 -*-
from setuptools import setup
setup()

An diesem Punkt wird eine leere Ei-Konfigurationsdatei geschrieben. Wir können den folgenden Befehl verwenden, um das Eierpaket zu generieren:

$ python setup.py bdist_egg

Schauen wir uns an, was generiert wird:

$ ls -F
build/ dist/ setup.py UNKNOWN.egg-info/

Sie können drei weitere Ordner sehen. Unter dem dist-Ordner befindet sich eine Egg-Datei: UNKNOWN-0.0.0-py2.6.egg. Eiablage erfolgreich! Werfen wir zunächst einen Blick auf das Format dieser Ei-Datei:

$ file dist/UNKNOWN-0.0.0-py2.6.egg
dist/UNKNOWN-0.0.0-py2.6.egg: Zip archive data, at least v2.0 to extract

Oh, es stellt sich heraus, dass es sich um ein Zip-Archiv handelt! Okay, werfen wir einen Blick auf die interne Struktur:

$ unzip -l dist/UNKNOWN-0.0.0-py2.6.egg
Archive:  dist/KNOWN-0.0.0-py2.6.egg
  Length      Date    Time    Name
---------  ---------- -----   ----
      120  2010-12-06 17:04   EGG-INFO/SOURCES.txt
        1  2010-12-06 17:04   EGG-INFO/top_level.txt
        1  2010-12-06 17:04   EGG-INFO/zip-safe
        1  2010-12-06 17:04   EGG-INFO/dependency_links.txt
      227  2010-12-06 17:04   EGG-INFO/PKG-INFO
---------                     -------
      350                     5 files

Es gibt nur einen EGG-INFO-Ordner mit fünf Ei-Informationsdateien, der weg ist. Der Name dieses Eies ist unbekannt, Version 0.0.0. Das liegt daran, dass wir im Setup nichts eingestellt haben. Offensichtlich kann dieses Ei nichts bewirken. Fügen Sie nun einige Zutaten hinzu. In setup.py erhält die Setup-Funktion eine Reihe von Eigenschaften als Konfigurationsparameter.

name name ist der Name des Eierpakets und der Name des zu verpackenden Ordners. Der Standardwert ist UNBEKANNT.

Versionsnummer, Standard 0.0.0

packages Eine weitere Funktion von setuptools, find_packages, wird hier verwendet. Wie der Name schon sagt, wird find_packages zum Packen von Dateien im angegebenen Verzeichnis verwendet.

zip_safe ist standardmäßig auf False eingestellt, sodass der Inhalt der Projektdatei jedes Mal überprüft wird, wenn das Ei-Paket generiert wird, um sicherzustellen, dass er korrekt ist.

Es gibt auch einige beschreibende Attribute, wie Beschreibung, lange_Beschreibung, Autor, Autor_E-Mail, Lizenz, Schlüsselwörter, Plattform, URL usw. Füllen Sie die Datei setup.py wie folgt aus: :

$ cat setup.py
#!/usr/bin/env python
#-*- coding:utf-8 -*-
from setuptools import setup, find_packages
setup(
        name = "demo",
        version="0.1.0",
        packages = find_packages(),
        zip_safe = False,
        description = "egg test demo.",
        long_description = "egg test demo, haha.",
        author = "amoblin",
        author_email = "amoblin@ossxp.com",
        license = "GPL",
        keywords = ("test", "egg"),
        platforms = "Independant",
        url = "",
        )

Erstellen Sie ein Verzeichnis demo mit demselben Namen wie oben im Verzeichnis egg-demo. Schreiben Sie die Datei __init__.py in das Demo-Verzeichnis:

$ mkdir demo
$ cat demo/__init__.py
#!/usr/bin/env python
#-*- coding:utf-8 -*-
def test():
    print "Hello, I'm amoblin."
if __name__ == '__main__':
    test()

Erneut generieren Überprüfen Sie nach dem Eierpaket die Eierpaketinformationen:

$ python setup.py bdist_egg
$ unzip -l dist/demo-0.1.0-py2.6.egg
Archive:  dist/demo-0.1.0-py2.6.egg
  Length      Date    Time    Name
---------  ---------- -----   ----
      121  2010-12-06 17:30   demo/__init__.py
      344  2010-12-06 17:46   demo/__init__.pyc
      137  2010-12-06 17:46   EGG-INFO/SOURCES.txt
        5  2010-12-06 17:46   EGG-INFO/top_level.txt
        1  2010-12-06 17:46   EGG-INFO/zip-safe
        1  2010-12-06 17:46   EGG-INFO/dependency_links.txt
      227  2010-12-06 17:46   EGG-INFO/PKG-INFO
---------                     -------
      836                     7 files

Sie können sehen, dass es einen zusätzlichen Ordner demo gibt, der die von uns geschriebene __init__.py enthält. Nach dem agilen Prinzip installieren Sie es zuerst und erleben Sie es, bevor Sie sprechen:

$ sudo python setup.py install
running install
install_dir /usr/local/lib/python2.6/dist-packages/
...
creating /usr/local/lib/python2.6/dist-packages/demo-0.1.0-py2.6.egg
Extracting demo-0.1.0-py2.6.egg to /usr/local/lib/python2.6/dist-packages
demo 0.1.0 is already the active version in easy-install.pth
Installed /usr/local/lib/python2.6/dist-packages/demo-0.1.0-py2.6.egg
Processing dependencies for demo==0.1.0
Finished processing dependencies for demo==0.1.0

OK! Als nächstes können wir es direkt durch Import verwenden!

$ python -c "from demo import test;test()"
Hello, I'm amoblin.

Erfolgreich exportiert! Dies bedeutet, dass die Installation korrekt ist. Einer unserer Eierbeutel war geboren. Im Allgemeinen werden unsere Quellprogramme im src-Verzeichnis abgelegt, daher verschieben wir als nächstes den Demo-Ordner nach src. Dies erfordert jedoch auch die Änderung der Datei setup.py, die Änderung des Parameters in der Funktion „find_packages“ in „src“ und das Hinzufügen des Parameters „package_dir“:

packages=find_packages('src'),
package_dir = {'':'src'}

Dadurch wird den Setuptools mitgeteilt, im Verzeichnis „src“ nach Paketen statt im zu suchen ursprüngliches Standard-Projektstammverzeichnis.

1.3 Egg-Datei-Deinstallation

Am Beispiel der Python2.6-Version wird die Egg-Datei im Allgemeinen im Verzeichnis /usr/local/lib/python2.6/dist-packages/ installiert . Es gibt auch eine Datei „easy-install.pth“, in der die Informationen zum installierten Ei gespeichert werden. :

$ cd /usr/local/lib/python2.6/dist-packages
$ cat easy-install.pth|grep demo
./demo-0.1.0-py2.6.egg
$ ls -F|grep demo
demo-0.1.0-py2.6.egg/

Das Deinstallieren der Egg-Datei ist sehr einfach. Löschen Sie zuerst die Zeile, die dieses Egg enthält, aus easy-install.pth und löschen Sie dann den Egg-Ordner.

Verwandte Empfehlungen: „Python-Tutorial

Das obige ist der detaillierte Inhalt vonSo installieren Sie Python Egg. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn