Skip to content
Snippets Groups Projects

100 pip install

Merged Sébastien DA ROCHA requested to merge cebash/silkaj:100_pip_install into dev

Fix #100 (closed)

  • renommer le dossier src en silkaj : ça devient un packet silkaj \o/
  • le lien symbolique silkaj à la racine.
  • modifier toutes les import dans le code pour ajouter "silkaj." devant
  • créer un setup.py / supprimer requirements.txt
  • exporter le code de la commande silkaj.py dans un dossier bin à part

On peut installer en faisant un "pip3 install ." dans le dossier racine.

Ou l'installer à distance : pip3 install git+https://https://git.duniter.org/cebash/silkaj.git@100_pip_install <= URL à corriger après le merge de la branche.

Je vais essayer de pousser sur le pypi de test et je te fais un tuto pour que tu le pousses sur le pypi officiel

Edited by Moul

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Moul changed the description

    changed the description

  • Moul changed milestone to %0.6.0

    changed milestone to %0.6.0

  • Moul assigned to @moul

    assigned to @moul

  • De ce que je vois, c'est tout bête:

    1. Créer un compte sur pypi / pypi de test
    2. Tu génères des paquets wheel (un source, un binaire).
    3. Tu envois tes paquets sur pypi

    Créer un compte sur pypi

    https://test.pypi.org/account/register/ https://pypi.org/account/register/

    Ca te permettra de gérer tes versions et tes projets (notamment ajouter des collaborateurs qui pourront aussi faire des livraisons).

    Générer les paquets

    D'abord il faut installer/mettre à jour setuptools et wheels pip install -U setuptools wheel

    Ensuite dans le dossier racine du crée tes paquets: python3 setup.py sdist bdist_wheel

    Ca te fait un dossier dist avec du bordel dedans :

    $ ls dist/
    silkaj-0.6.0-py3-none-any.whl  silkaj-0.6.0.tar.gz

    Pousser les paquets sur pypi

    Il te faut installer twine d'abord : pip install twine

    Puis pousser les paquets:

    twine upload --repository-url https://test.pypi.org/legacy/ dist/*

    Tu peux voir ton paquet ici: https://test.pypi.org/project/silkaj/

    Je suppose que pour uploader les paquets sur le vrai pypi, tu peux juste faire twine upload dist/*

    Si tu veux installer ton paquet depuis le dépot de test sur un venv tout neuf:

    pip install --index-url https://test.pypi.org/simple/ silkaj

    Si tu ne veux pas tapper ton password à chaque fois, tu peux utiliser ça: https://github.com/pypa/twine#keyring-support

  • Super ! C’est du très bon boulot ! Un grand merci !

  • Moul
  • Moul
    • Installing from pip must be documented.
    • Releasing, uploading on pypi must be documented.
    • Document executable path modification: silkaj –> bin/silkaj.
    • Remove executable rights on silkaj/silkaj.py.
    Edited by Moul
  • Sébastien DA ROCHA resolved all discussions

    resolved all discussions

  • added 4 commits

    • 39d2639d - [fix] typo on usage message
    • 42629747 - [fix] pyinstaller and release script (package path)
    • 1bbb6516 - [enh] give precise Python compatible versions (tested)
    • d2932ed5 - [mod] tab typo

    Compare with previous version

  • Moul
  • Moul
  • added 2 commits

    • 2629bf8b - [mod] wrong license
    • 811da899 - [fix] stop release when branch is not master

    Compare with previous version

  • Sébastien DA ROCHA resolved all discussions

    resolved all discussions

  • J'ai un problème avec pipenv. Il ne détecte pas le dossier "silkaj" comme un package python. Quand je lance bin/silkaj dans l'environnement, il m'envoie bouler par

    17:05 seba@seba-N750HU: ~/Sources/silkaj$ pipenv run bin/silkaj
    Traceback (most recent call last):
      File "bin/silkaj", line 3, in <module>
        from silkaj.network_tools import check_port, best_node
    ModuleNotFoundError: No module named 'silkaj'

    Du coup, j'ai fait pipenv install "-e " ça m'installe le paquet silkaj (en éditable, donc on modifie les sources, elles sont prises en compte à la prochaine exécution) dans l'environnement. Là ça marche.

    Ça rajoute ça au Pipfile:

    diff --git a/Pipfile b/Pipfile
    index a05dbf6..c91fd92 100644
    --- a/Pipfile
    +++ b/Pipfile
    @@ -10,6 +10,7 @@ tabulate = "*"
     scrypt = "*"
     pyaes = "*"
     PyNaCl = "*"
    +"e1839a8" = {path = ".", editable = true}
     
     [dev-packages]

    C'est très vilain mais apparemment c'est d'usage avec Pipenv : https://github.com/pypa/pipenv/issues/689

    Est-ce que ça te vas ?

  • Ah encore un truc, tu as fait une livraison sur Pypi (le vrai, pas celui de test) de la version 0.6.0.

    https://pypi.org/project/silkaj/

    Je crois que c'est mort, même si tu l'effaces, il ne voudra pas que tu relivres un fichier avec la même version.

    Il y a un souci avec le MarkDown, apparemment c'est un problème connu sur le vieux pypi. La j'ai pas compris pourquoi c'était tout pourri, si ça continue, on pourra peut-être tester de convertir le README en ReST avec pandoc ?

    Dernier truc, si tu veux récupérer le projet silkaj sur pypi test, crée un compte et je te donnerais les droits.

  • Oui, je rencontre le même problème avec pipenv.

    Laissons un peu de temps pour voir si ce contournement nous convient.


    Oui, j’ai publié sur Pypi de prod une 0.6.0 et une 0.5.3.

    J’ai pu supprimer la v0.6.0 et après cinq minutes c’est la 0.5.3 qui est présente.

    C’est des comptes séparés sur pypi de prod et de test ?

  • Yep, j'ai essayé de t'ajouter sur le test, mais ton compte existe pas.

  • added 5 commits

    • c7c76a9a - Remove executable rights on silkaj/silkaj.py
    • 2f304fdc - [mod] Update pipenv documentation
    • a7577f3f - [mod] documentation for installing silkaj with pypi/pip
    • 0eed2221 - [mod] Update pyinstaller documentation with pip/pypi
    • f9cf72f7 - [mod] document deliver on pypi

    Compare with previous version

  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Please register or sign in to reply
    Loading