Da ich das Paket zum ersten Mal bei PyPI registriert habe, werde ich zusammenfassen, was ich getan habe.
Die Verzeichnisstruktur ist so einfach wie es nur geht.
.
├── LICENSE.txt
├── README.md
├── nbupload
│ ├── FileUploaderView.js
│ ├── FileUploaderWidget.py
│ └── __init__.py
└── setup.py
Da es Git verwaltet, schließen Sie auch [.gitignore für Python] ein (https://github.com/github/gitignore/blob/master/Python.gitignore).
Schreiben Sie eine minimale setup.py. packages = ['nbupload']
ist eine Möglichkeit, einen Verzeichnisnamen als Paket zu schreiben. Weitere Informationen finden Sie unter Dokumentation.
from setuptools import setup
setup(
name = "nbupload",
version = "0.0.1",
packages=['nbupload'],
)
mit diesem,
python setup.py develop
Wenn Sie eingeben, wird es für die Entwicklung installiert und Sie können es normal importieren. Tatsächlich befand sich im Verzeichnis site-packages von Python eine Datei mit dem Namen nbupload.egg-link, und der Pfad zum Paketverzeichnis wurde in diese Datei geschrieben.
Deinstallieren
python setup.py develop -u
Das ist gut.
Da setup.py oben einsam ist, verschiedene hinzufügen.
Wenn Sie kein Pypi-Konto haben, besorgen Sie sich eines. Es gibt auch ein Testpypi für den Paketregistrierungstest, also registrieren Sie dort auch ein Konto. Bitte beachten Sie, dass das zu registrierende Passwort im Klartext im Home-Verzeichnis abgelegt werden muss (obwohl es sofort gelöscht werden kann).
Ich bin der Meinung, dass das Passwort aus 16 Zeichen oder mehr bestehen muss und es keine Groß- oder Kleinbuchstaben gibt. Die OpenID von Google kann nicht verwendet werden, da Google keine neuen Registrierungen mehr unterstützt.
Erstellen Sie .pypirc in Ihrem Home-Verzeichnis. (Wenn Sie sich nur in pypi registrieren, müssen Sie dies nicht eingeben (?). Wenn Sie jedoch testpypi haben, müssen Sie dies eingeben.)
Ich habe auf [hier] verwiesen (http://peterdowns.com/posts/first-time-with-pypi.html).
[distutils]
index-servers =
pypi
pypitest
[pypi]
repository: https://pypi.python.org/pypi
username: {{your_username}}
password: {{your_password}}
[pypitest]
repository: https://testpypi.python.org/pypi
username: {{your_username}}
password: {{your_password}}
Registrieren Sie sich bei testpypi.
python setup.py register -r https://testpypi.python.org/pypi
Dadurch wird ein Element in pypi erstellt, das auch in "pip search --index https://testpypi.python.org/pypi nb upload" angezeigt wird.
Da es jedoch noch nirgendwo ein aktuelles Paket gibt, muss ich gzip hochladen. Sie können auch download_url in setup.py schreiben und das gzip des github-Tags angeben. Standardmäßig ignoriert pip install
andere URLs als pypi (wenn Sie --allow-external
hinzufügen, wird es übergeben). Es ist besser, auf pypi selbst hochzuladen. Der folgende Befehl macht das.
python setup.py sdist upload -r https://testpypi.python.org/pypi
Sie können es jetzt mit pip install --index-url https://testpypi.python.org/simple/nbupload
installieren.
Wenn Sie dies bisher tun können, müssen Sie sich nur für die Produktions-Pypi registrieren.
python setup.py register
python setup.py sdist upload
Es endet mit.
Dieses Mal muss JS in das Paket aufgenommen und verteilt werden, also musste ich dies in setup.py schreiben.
package_data = {
'nbupload': ['FileUploaderView.js'],
},
Wenn Sie dies nicht tun, enthält das Paketieren mit "python setup.py sdist upload" standardmäßig keine Nicht-Python-Dateien.
Recommended Posts