Depuis que j'ai enregistré le package avec PyPI pour la première fois, je vais résumer ce que j'ai fait.
La structure des répertoires est aussi simple que possible.
.
├── LICENSE.txt
├── README.md
├── nbupload
│ ├── FileUploaderView.js
│ ├── FileUploaderWidget.py
│ └── __init__.py
└── setup.py
Puisqu'il gère git, incluez également .gitignore pour Python.
Écrivez un setup.py minimal. packages = ['nbupload']
est un moyen d'écrire un nom de répertoire sous forme de package. Pour plus de détails, reportez-vous à la Documentation.
from setuptools import setup
setup(
name = "nbupload",
version = "0.0.1",
packages=['nbupload'],
)
avec ça,
python setup.py develop
Si vous tapez, il sera installé pour le développement et vous pourrez l'importer normalement. En fait, il y avait un fichier appelé nbupload.egg-link dans le répertoire site-packages de python, et le chemin d'accès au répertoire du package était écrit dans ce fichier.
Désinstaller
python setup.py develop -u
C'est bon.
Puisque setup.py est solitaire ci-dessus, ajouter divers.
Si vous n'avez pas de compte pypi, obtenez-en un. Il existe également un testpypi pour le test d'enregistrement des packages, alors enregistrez-y également un compte. Veuillez noter que le mot de passe à enregistrer doit être placé dans le répertoire personnel en texte brut (bien qu'il puisse être supprimé immédiatement).
Je pense que le mot de passe doit contenir 16 caractères ou plus et qu'il n'y a pas de majuscules ou de minuscules. L'OpenID de Google ne peut pas être utilisé car Google ne prend plus en charge les nouvelles inscriptions.
Créez .pypirc dans votre répertoire personnel. (Si vous vous enregistrez uniquement dans pypi, vous n'avez pas à mettre ceci (?), Mais si vous avez testpypi, vous devez mettre ceci)
J'ai fait référence à ici.
[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}}
Inscrivez-vous avec testpypi.
python setup.py register -r https://testpypi.python.org/pypi
Cela créera un élément dans pypi, qui apparaîtra également dans pip search --index https://testpypi.python.org/pypi nb upload
.
Cependant, dans l'état actuel des choses, il n'y a pas encore de package réel, je dois donc télécharger gzip. Vous pouvez également écrire download_url dans setup.py et spécifier le gzip de la balise github, mais par défaut pip install
ignore les URL autres que pypi (si vous ajoutez --allow-external
, il passera). Il est préférable de télécharger sur pypi lui-même. La commande suivante fait cela.
python setup.py sdist upload -r https://testpypi.python.org/pypi
Vous pouvez maintenant l'installer avec pip install --index-url https://testpypi.python.org/simple/ nbupload
.
Si vous pouvez le faire jusqu'à présent, tout ce que vous avez à faire est de vous inscrire au pypi de production.
python setup.py register
python setup.py sdist upload
Cela se termine par.
Cette fois, JS doit être inclus dans le package et distribué, j'ai donc dû écrire ceci dans setup.py.
package_data = {
'nbupload': ['FileUploaderView.js'],
},
Si vous ne le faites pas, par défaut l'empaquetage avec python setup.py sdist upload
n'inclura aucun fichier non-python.
Recommended Posts