Puncte:0

ImportError: Niciun modul numit „pip._vendor.packaging”

drapel in

Trebuie să obțin niște software care rulează pe Python 3.5

Folosesc Ubuntu 21.10.

Primesc aceasta eroare:

(foobar_addressbook) guettli@p15:~/foobar/projects/foobar_addressbook$ tox -e py35-django18 


py35-django18 creați: /home/guettli/foobar/projects/foobar_addressbook/.tox/py35-django18
EROARE: invocarea a eșuat (codul de ieșire 1), fișier jurnal: /home/guettli/foobar/projects/foobar_addressbook/.tox/py35-django18/log/py35-django18-1.log
==================================================== ================== începe log ============================== ========================================
Traceback (cel mai recent apel ultimul):
  Fișierul „/usr/local/lib/python3.5/runpy.py”, linia 193, în _run_module_as_main
    „__main__”, mod_spec)
  Fișierul „/usr/local/lib/python3.5/runpy.py”, linia 85, în _run_code
    exec(cod, run_globals)
  Fișierul „/home/guettli/foobar/projects/foobar_addressbook/.tox/py35-django18/lib/python3.5/site-packages/pip/__main__.py”, rândul 23, în <modul>
    din pip._internal.cli.main import main as _main # isort:skip # noqa
  Fișierul „/home/guettli/foobar/projects/foobar_addressbook/.tox/py35-django18/lib/python3.5/site-packages/pip/_internal/cli/main.py”, rândul 10, în <modul>
    din pip._internal.cli.autocompletion import autocomplete
  Fișierul „/home/guettli/foobar/projects/foobar_addressbook/.tox/py35-django18/lib/python3.5/site-packages/pip/_internal/cli/autocompletion.py”, rândul 9, în <modul>
    din pip._internal.cli.main_parser import create_main_parser
  Fișierul „/home/guettli/foobar/projects/foobar_addressbook/.tox/py35-django18/lib/python3.5/site-packages/pip/_internal/cli/main_parser.py”, rândul 7, în <modul>
    din pip._internal.cli import cmdoptions
  Fișierul „/home/guettli/foobar/projects/foobar_addressbook/.tox/py35-django18/lib/python3.5/site-packages/pip/_internal/cli/cmdoptions.py”, rândul 23, în <modul>
    din pip._vendor.packaging.utils import canonicalize_name
ImportError: Niciun modul numit „pip._vendor.packaging”

==================================================== =================== sfârşitul jurnalului ============================== ===========================================
_____________________________________________________________________ rezumat ______________________________________________________________________
EROARE: py35-django18: InvocationError pentru comanda /home/guettli/foobar/projects/foobar_addressbook/.tox/py35-django18/bin/python -m pip freeze (ieșit cu codul 1)

Ai idee cum pot remedia această eroare?

Intrebare legata: Eroare de segmentare în timpul instalării Python 3.5: assurepip

Puncte:0
drapel in

Pasul 1

pip în virtualenv pare rupt, așa că bootstrap pip:

curl https://bootstrap.pypa.io/pip/3.5/get-pip.py | .tox/py35-django18/bin/python - 

Pasul 2

Acum primesc această eroare

    EROARE: Comanda a fost greșită cu starea de ieșire 1:
     comandă: /home/guettli/foobar/projects/foobar_addressbook/.tox/py35-django18/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-xsbc7r69/django-celery_63fa83d5391f499a9cc375c1c1fed8b6/setup.py'"'"'; __file__='"'"'/tmp/pip-install-xsbc7r69/django-celery_63fa83d5391f499a9cc375c1c1fed8b6/setup.py'"'"';f=getattr(tokenize, '"'"',deschide')( __file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec( compile(cod, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-6esk_zf9
         cwd: /tmp/pip-install-xsbc7r69/django-celery_63fa83d5391f499a9cc375c1c1fed8b6/
    Ieșire completă (7 linii):
    Traceback (cel mai recent apel ultimul):
      Fișierul „<șir>”, linia 1, în <modul>
      Fișierul „/home/guettli/foobar/projects/foobar_addressbook/.tox/py35-django18/lib/python3.5/site-packages/setuptools/__init__.py”, rândul 18, în <modul>
        import setuptools.version
      Fișierul „/home/guettli/foobar/projects/foobar_addressbook/.tox/py35-django18/lib/python3.5/site-packages/setuptools/version.py”, rândul 1, în <modul>
        import pkg_resources
    ImportError: Niciun modul numit „pkg_resources”

Pentru a remedia acest lucru:

.tox/py35-django18/bin/python -m pip install -U setuptools

Acum, virtualenv de tox funcționează.

Dacă știți o modalitate mai ușoară de a face Python3.5 să funcționeze pe Ubuntu 21.10, vă rugăm să lăsați un comentariu. Mulțumesc.

drapel ru
Modul de a face ca Python să funcționeze vechi pe ubuntu 21.10 este să utilizați PyENV pentru a-l configura sau asigurați-vă că instalați PIP cu compilația dvs. python (nu este o versiune implicită!) - acest lucru face, de asemenea, disponibile setuptools și alte lucruri în mediul dvs. în mod implicit.
guettli avatar
drapel in
@ThomasWard Am încercat mai întâi pyenv, dar nu a reușit cu o eroare de sec. Vedeți https://askubuntu.com/questions/1376525/segmentation-fault-while-installing-python-3-5-ensurepip
drapel ru
Pot să vă întreb de ce aveți nevoie de Python 3.5, care are mulți ani acum? Actualizarea aplicației pentru python mai nou nu este posibilă din anumite motive?
guettli avatar
drapel in
@ThomasWard Python3.5 este un pas intermediar pentru a trece de la 2.7 la 3.8.(Această aplicație django folosește Django 1.4 în acest moment).
drapel ru
Ca cineva care a trebuit să treacă de la Django vechi la Django cel mai recent, pasul tău „intermediar” îți va provoca mai multă durere decât o rescrie totală. Pentru că atunci trebuie să rescrieți din nou pentru a ajunge la un Django și mai nou, care este compatibil cu py3.8.
guettli avatar
drapel in
@ThomasWard Nu vreau să folosesc PyENV. Face lucruri magice pe care nu vreau să le fac. De exemplu, schimbă PATH și trebuie să fie activat prin .profile. Tot ce vreau este `/usr/local/bin/python3.5`. Nu am nevoie de un instrument pentru a comuta între versiunile Python.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.