Lingkungan
CircleCI menggunakan Conda, misalnya https://circleci.com/gh/peterjc/thapbi-pict/1073
pip install --upgrade pip setuptools
)Saya hanya membuat sedikit perubahan pada kode saya, tetapi hari ini build CircleCI rusak selama tahap build/install alat Python saya - beberapa cabang terpengaruh. Waktunya sesuai dengan rilis pip 19.3 di PyPI.
Keterangan
Tampaknya rilis pip baru-baru ini memindahkan beberapa file internal, tebakan saya adalah #6830.
Perilaku yang diharapkan
Cara Mereproduksi
Output penuh pada https://circleci.com/gh/peterjc/thapbi-pict/1073 yang sedang berjalan https://github.com/peterjc/thapbi-pict/blob/9fcec2da60e6e6ae5cf7ee6ad4b53dcc3a40cfe7/.circleci/config.yml#L56
...
python setup.py sdist --formats=gztar
python setup.py bdist_wheel
pip install dist/thapbi_pict-*.whl
Keluaran
Traceback (most recent call last):
File "/opt/conda/bin/pip", line 7, in <module>
from pip._internal import main
File "/opt/conda/lib/python3.7/site-packages/pip/_internal/__init__.py", line 40, in <module>
from pip._internal.cli.autocompletion import autocomplete
File "/opt/conda/lib/python3.7/site-packages/pip/_internal/cli/autocompletion.py", line 8, in <module>
from pip._internal.cli.main_parser import create_main_parser
File "/opt/conda/lib/python3.7/site-packages/pip/_internal/cli/main_parser.py", line 11, in <module>
from pip._internal.commands import (
File "/opt/conda/lib/python3.7/site-packages/pip/_internal/commands/__init__.py", line 9, in <module>
from pip._internal.commands.download import DownloadCommand
File "/opt/conda/lib/python3.7/site-packages/pip/_internal/commands/download.py", line 10, in <module>
from pip._internal.operations.prepare import RequirementPreparer
File "/opt/conda/lib/python3.7/site-packages/pip/_internal/operations/prepare.py", line 9, in <module>
from pip._internal.distributions import (
File "/opt/conda/lib/python3.7/site-packages/pip/_internal/distributions/__init__.py", line 1, in <module>
from pip._internal.distributions.source import SourceDistribution
ImportError: cannot import name 'SourceDistribution' from 'pip._internal.distributions.source' (/opt/conda/lib/python3.7/site-packages/pip/_internal/distributions/source/__init__.py)
Exited with code 1
Akan sangat membantu untuk mengetahui apa dalam pengaturan CircleCI (atau conda?) yang menggunakan API internal tersebut - reorganisasi seharusnya tidak memengaruhi kode eksternal apa pun. Masalah utama yang kita ketahui sejauh ini adalah reorganisasi utama, yang berdampak pada skrip pembungkus, tetapi yang ini terlihat sedikit berbeda. Setiap wawasan yang dapat Anda berikan akan sangat berguna, terima kasih.
Dikonfirmasi bahwa menghapus pip install --upgrade pip setuptools
memperbaiki hal-hal,
https://github.com/peterjc/thapbi-pict/commit/4060404c1034a676439aef1369260022577a6627
https://circleci.com/gh/peterjc/thapbi-pict/1074
yaitu Ada yang rusak dalam cara saya memperbarui dari pip 19.2.3 ke 19.3
Saya tidak sengaja menggunakan Python yang disediakan CircleCI, melainkan Python yang disediakan Conda - apakah ada nilai dalam beralih dari pip ...
ke python -m pip ...
hanya untuk menghilangkan kemungkinan ini karena mencampur Python?
Bekerja di cabang sekarang, menambahkan sedikit lebih banyak logging dan dikembalikan ke versi yang rusak:
https://circleci.com/gh/peterjc/thapbi-pict/1076
Ini mengonfirmasi bahwa traceback dipicu oleh pip install dist/thapbi_pict-*.whl
(karakter pengganti untuk mencocokkan satu roda yang baru dibuat).
Oke, menggunakan python -m pip ...
daripada pip ...
tidak membantu:
https://circleci.com/gh/peterjc/thapbi-pict/1077
https://github.com/peterjc/thapbi-pict/commit/c168fbb7b61b2670bfb73dfb7ea87605fd17bfaf
Untuk apa nilainya, saya baru saja mengkonfirmasi bahwa from pip._internal import main
berfungsi pada peningkatan pip yang sederhana (di Windows, jadi bukan perbandingan yang bagus, tapi bagaimanapun ...). Jadi saya curiga ada sesuatu yang tidak cocok di lingkungan Anda, meskipun saya tidak dapat melihat dari traceback apa itu.
CircleCI memiliki kemampuan untuk menjalankan kembali pekerjaan dengan akses SSH ke VM (bukan karena saya pernah menggunakannya), jadi secara teori ini dapat digunakan untuk debugging, tetapi saya tidak tahu harus mulai dari mana.
Saya memiliki pekerjaan untuk saat ini, dan pada titik tertentu conda-forge akan memiliki paket pip 19.3 juga, jadi kecuali orang lain melihat pengecualian yang sama, tampaknya prioritas rendah?
OK keren. Jika Anda memiliki solusi maka saya baik-baik saja meninggalkannya di sana untuk saat ini. Jika orang lain menambahkan komentar yang melaporkan itu terjadi di tempat lain, kami dapat melakukan penggalian lebih lanjut - mungkin mereka akan memiliki informasi tambahan yang akan membantu.
Saya menghadapi masalah serupa di macOS, python: 3.6.9. perintah pip di terminal saya tidak berfungsi lagi. Ada saran?
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
Ini membantu untuk saat ini
Saya memiliki masalah yang sama di CircleCI sejak 1 jam yang lalu.
Perubahan versi gambar buruh pelabuhan dari python:3.7 ke python:3.7.4 memperbaiki masalah ini. (hanya solusi). seperti ini:
version: 2
...
jobs:
build:
docker:
- image: python:3.7.4
...
Apakah ada di antara kalian yang menggunakan caching? Saya pikir mungkin beberapa internal pip berubah dan ketika Anda mengembalikan cache dari versi python lama, pip break. Sarankan Anda membatalkan cache CI lingkaran Anda dengan mengubah keys
dan lihat apa yang terjadi ... (berhasil untuk saya!)
Seperti yang disarankan oleh @bgkelly membersihkan cache juga berhasil untuk saya!
Ya - sama untuk saya - mengubah kunci cache telah memecahkan masalah ini untuk proyek tim kami di circleci. Terima kasih @bgkelly
Mengubah kunci cache tidak menyelesaikannya untuk saya.
Menambahkan komentar di requirements.txt
berhasil, tapi itu bukan solusi yang diinginkan.
Baiklah, jadi ini sepertinya masalah caching untuk CircleCI.
Bisakah seseorang menghubungi orang-orang CircleCI (melalui saluran dukungan mereka)? Akan sangat bagus jika mereka bisa melihat ini dan mungkin berpadu di sini.
Hai orang,
Saya benar-benar tidak tahu apakah ini membantu Anda dengan cara apa pun, tetapi saya mendapat Pesan Kesalahan yang sama pada pengaturan MSYS saya mencoba menginstal WeasyPrint.
Setelah menghapus instalan python3-pip dan python3-setuptools saya menghapus semua folder pip di /usr/lib/python3.7/site-packages/ dan menginstal ulang keduanya .. memecahkan kesalahan spesifik itu.
pacman -R python3-pip python3-setuptools
rm -R /usr/lib/python3.7/site-packages/pip
rm -R /usr/lib/python3.7/site-packages/pip-19.3.1.dist-info
pacman -S python3-pip python3-setuptools
Agar adil, saya sekarang mengalami masalah kompiler ... tapi mungkin saya bisa membantu ....
Untuk berjaga-jaga jika ini dapat membantu, saya menemukan kesalahan dalam konteks yang berbeda: saat menyalin lingkungan virtual dari satu gambar buruh pelabuhan ke gambar lainnya, dalam pengaturan multitahap.
Gambar sumber berisi versi pip
sedangkan gambar target berisi versi pip
yang ditingkatkan. Setelah menyalin direktori lingkungan virtual gambar sumber ke gambar target, ada 2 direktori berbeda ( pip-<version>.dist-info
) di bawah lingkungan virtual site-packages
dan pip
tidak berfungsi, memberikan kesalahan yang sama seperti yang dilaporkan dalam masalah ini.
Saya tidak menghabiskan waktu untuk memecahkan masalah ini karena saya agak skeptis terhadap pendekatan ini yang melibatkan penyalinan lingkungan virtual ke lingkungan di mana sudah ada paket yang diinstal.
Bagaimanapun, ini tampaknya menjadi masalah tabrakan paket.
Semoga ini membantu! :senyum:
Hai
Saya yakin kami melihat masalah yang sama di server ReadTheDocs internal kami. Ini menjalankan perintah berikut saat membuat dokumen:
var/lib/readthedocs/repo/user_builds/some_doc/envs/latest/bin/python -m pip install --upgrade --cache-dir /var/lib/readthedocs/repo/user_builds/some_doc/.cache/pip pip
Jika saya menghapus cache build melalui antarmuka GUI ReadTheDocs, build berhasil - tetapi hanya sampai build berikutnya dimulai.
Berikut log lengkapnya:
Traceback (most recent call last):
File "/usr/lib64/python3.6/runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "/usr/lib64/python3.6/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/var/lib/readthedocs/repo/user_builds/some_doc/envs/latest/lib/python3.6/site-packages/pip/__main__.py", line 16, in <module>
from pip._internal import main as _main # isort:skip # noqa
File "/var/lib/readthedocs/repo/user_builds/some_doc/envs/latest/lib/python3.6/site-packages/pip/_internal/__init__.py", line 40, in <module>
from pip._internal.cli.autocompletion import autocomplete
File "/var/lib/readthedocs/repo/user_builds/some_doc/envs/latest/lib/python3.6/site-packages/pip/_internal/cli/autocompletion.py", line 8, in <module>
from pip._internal.cli.main_parser import create_main_parser
File "/var/lib/readthedocs/repo/user_builds/some_doc/envs/latest/lib/python3.6/site-packages/pip/_internal/cli/main_parser.py", line 11, in <module>
from pip._internal.commands import (
File "/var/lib/readthedocs/repo/user_builds/some_doc/envs/latest/lib/python3.6/site-packages/pip/_internal/commands/__init__.py", line 9, in <module>
from pip._internal.commands.download import DownloadCommand
File "/var/lib/readthedocs/repo/user_builds/some_doc/envs/latest/lib/python3.6/site-packages/pip/_internal/commands/download.py", line 10, in <module>
from pip._internal.operations.prepare import RequirementPreparer
File "/var/lib/readthedocs/repo/user_builds/some_doc/envs/latest/lib/python3.6/site-packages/pip/_internal/operations/prepare.py", line 9, in <module>
from pip._internal.distributions import (
File "/var/lib/readthedocs/repo/user_builds/some_doc/envs/latest/lib/python3.6/site-packages/pip/_internal/distributions/__init__.py", line 1, in <module>
from pip._internal.distributions.source import SourceDistribution
ImportError: cannot import name 'SourceDistribution'
Hai,
Saya juga mengalami masalah.
OS: Debian GNU/Linux 10 (Linux 4.19.0-6-amd64)
pip: 19.3.1
konda: 4.7.12
Python:3.7.4
$pip
Traceback (panggilan terakhir terakhir):
File "/home/jiang/anaconda3/bin/pip", baris 7, di
dari pip._internal impor utama
File "/home/jiang/anaconda3/lib/python3.7/site-packages/pip/_internal/__init__.py", baris 40, di
dari pip._internal.cli.autocompletion impor pelengkapan otomatis
File "/home/jiang/anaconda3/lib/python3.7/site-packages/pip/_internal/cli/autocompletion.py", baris 8, di
dari pip._internal.cli.main_parser impor create_main_parser
File "/home/jiang/anaconda3/lib/python3.7/site-packages/pip/_internal/cli/main_parser.py", baris 11, di
dari pip._internal.commands impor (
File "/home/jiang/anaconda3/lib/python3.7/site-packages/pip/_internal/commands/__init__.py", baris 9, di
dari pip._internal.commands.download impor DownloadCommand
File "/home/jiang/anaconda3/lib/python3.7/site-packages/pip/_internal/commands/download.py", baris 10, di
dari pip._internal.operations.prepare import RequirementPreparer
File "/home/jiang/anaconda3/lib/python3.7/site-packages/pip/_internal/operations/prepare.py", baris 9, di
dari impor pip._internal.distributions (
File "/home/jiang/anaconda3/lib/python3.7/site-packages/pip/_internal/distributions/__init__.py", baris 1, di
dari pip._internal.distributions.source impor SourceDistribution
ImportError: tidak dapat mengimpor nama 'SourceDistribution' dari 'pip._internal.distributions.source' (/home/jiang/anaconda3/lib/python3.7/site-packages/pip/_internal/distributions/source/__init__.py)
Kami dapat melakukan penyelesaian di server ReadTheDocs lokal kami dengan mengubah alur build untuk secara khusus menggunakan pip versi 19.2.3. Sekarang ReadTheDocs menjalankan perintah build berikut - dan kami tidak lagi memiliki masalah caching:
/var/lib/readthedocs/repo/user_builds/some_doc/envs/latest/bin/python -m pip install --upgrade --cache-dir /var/lib/readthedocs/repo/user_builds/some_doc/.cache/pip pip==19.2.3
Lebih khusus lagi, kami memperbarui file python_environment.py lokal untuk menggunakan versi pip tertentu: https://github.com/readthedocs/readthedocs.org/blob/7212d6ff738b24a10fb0f4227d3fbdf69e5cab42/readthedocs/doc_builder/python_environments.py#L322
cmd = pip_install_cmd + ['pip']
diubah menjadi:
cmd = pip_install_cmd + ['pip==19.2.3']
Saya tahu pengaturan saya mungkin berbeda dari kebanyakan tetapi masalah di pihak saya adalah karena direktori PIP sources/
di lingkungan virtual (kemungkinan besar masalah caching PIP atau sesuatu). Mari saya jelaskan:
Saat menghapus direktori user_builds/project/envs/
untuk sebuah proyek dan membangunnya kembali berfungsi tetapi hanya sampai Anda membangun kembali dengan direktori envs/
hadir lagi. Saya menghabiskan banyak waktu untuk men-debug apa masalahnya dan ternyata itu adalah direktori user_builds/project/envs/
(atau sesuatu di dalamnya) yang menyebabkan masalah. Jadi saya melakukan lebih banyak pengujian untuk mengetahui bahwa itu adalah direktori user_builds/project/envs/latest/lib/python3.6/site-packages/pip/_internal/distributions/source/
secara khusus menyebabkan masalah. Saya menghapus direktori user_builds/project/envs/latest/lib/python3.6/site-packages/pip/_internal/distributions/source/
, membangun kembali, dan semuanya baik-baik saja. Saya membangun kembali dan gagal. Saya memeriksa direktori user_builds/project/envs/latest/lib/python3.6/site-packages/pip/_internal/distributions/
lagi dan melihat bahwa source/
ada. Jadi saya pergi ke instalasi Python global saya dan memindahkan direktori /path/to/lib/python3.6/dist-packages/pip/_internal/distributions/source/
dari PIP, menghapus direktori user_builds/project/envs/latest/lib/python3.6/site-packages/pip/_internal/distributions/source/
dari lingkungan proyek, dan membangun kembali. Ini berhasil dibuat dan tidak menyalin folder source/
, sempurna. Jadi sekarang setiap kali dokumen dibuat, mereka membangun tanpa kesalahan. Saya harap ini membantu orang lain.
Bersulang.
Coba ini:
1.curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
2.python get-pip.py
@Guru36
Mencoba itu berkali-kali tanpa hasil. Anda harus melakukan ini di awal, jadi ini tidak akan membantu. Terima kasih.
Bersulang.
Coba ini:
1.curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
2.python get-pip.py
Terima kasih
Saya sekarang mendapatkan masalah dengan ini pada rilis 0,20.
Melihat ke dalam ini sekarang orang-orang. Jika seseorang dapat memberikan instruksi tentang cara mereproduksi dengan pip 20.0, itu bagus!
Saya mengalami masalah yang sama:
virtualenv venv
. venv/bin/activate
pip install sqlalchemy pymysql
hasil menjadi
Traceback (most recent call last):
File "/tmp/test/venv/bin/pip", line 11, in <module>
sys.exit(main())
File "/tmp/test/venv/lib/python3.8/site-packages/pip/_internal/cli/main.py", line 73, in main
command = create_command(cmd_name, isolated=("--isolated" in cmd_args))
File "/tmp/test/venv/lib/python3.8/site-packages/pip/_internal/commands/__init__.py", line 96, in create_command
module = importlib.import_module(module_path)
File "/tmp/test/venv/lib/python3.8/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
File "<frozen importlib._bootstrap>", line 991, in _find_and_load
File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 783, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/tmp/test/venv/lib/python3.8/site-packages/pip/_internal/commands/install.py", line 24, in <module>
from pip._internal.cli.req_command import RequirementCommand
File "/tmp/test/venv/lib/python3.8/site-packages/pip/_internal/cli/req_command.py", line 20, in <module>
from pip._internal.operations.prepare import RequirementPreparer
File "/tmp/test/venv/lib/python3.8/site-packages/pip/_internal/operations/prepare.py", line 16, in <module>
from pip._internal.distributions import (
File "/tmp/test/venv/lib/python3.8/site-packages/pip/_internal/distributions/__init__.py", line 1, in <module>
from pip._internal.distributions.source import SourceDistribution
ImportError: cannot import name 'SourceDistribution' from 'pip._internal.distributions.source' (/tmp/test/venv/lib/python3.8/site-packages/pip/_internal/distributions/source/__init__.py)
Jika seseorang dapat memberikan instruksi tentang cara mereproduksi dengan pip 20.0,
Singkatnya, "coba gunakan pip"! Hasil mencoba menginstal scipy pada env virtual yang berfungsi, yang sudah menginstal scipy (yaitu saya berharap pip tidak melakukan apa-apa):
(farmcat3) [danielevans@rml-dev06 farmcat]$ pip install pip==20.0
Looking in indexes: https://pypi.org/simple, http://phabricator.jbarisk.com:8080
Collecting pip==20.0
Downloading https://files.pythonhosted.org/packages/60/65/16487a7c4e0f95bb3fc89c2e377be331fd496b7a9b08fd3077de7f3ae2cf/pip-20.0-py2.py3-none-any.whl (1.5MB)
|████████████████████████████████| 1.5MB 1.7MB/s
Installing collected packages: pip
Found existing installation: pip 19.3.1
Uninstalling pip-19.3.1:
Successfully uninstalled pip-19.3.1
pipSuccessfully installed pip-20.0
(farmcat3) [danielevans@rml-dev06 farmcat]$ pip install scipy
Traceback (most recent call last):
File "/home/jbanorthwest.co.uk/danielevans/venvs/farmcat3/bin/pip", line 8, in <module>
sys.exit(main())
File "/home/jbanorthwest.co.uk/danielevans/venvs/farmcat3/lib/python3.6/site-packages/pip/_internal/cli/main.py", line 73, in main
command = create_command(cmd_name, isolated=("--isolated" in cmd_args))
File "/home/jbanorthwest.co.uk/danielevans/venvs/farmcat3/lib/python3.6/site-packages/pip/_internal/commands/__init__.py", line 96, in create_command
module = importlib.import_module(module_path)
File "/home/jbanorthwest.co.uk/danielevans/venvs/farmcat3/lib64/python3.6/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 678, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/home/jbanorthwest.co.uk/danielevans/venvs/farmcat3/lib/python3.6/site-packages/pip/_internal/commands/install.py", line 24, in <module>
from pip._internal.cli.req_command import RequirementCommand
File "/home/jbanorthwest.co.uk/danielevans/venvs/farmcat3/lib/python3.6/site-packages/pip/_internal/cli/req_command.py", line 20, in <module>
from pip._internal.operations.prepare import RequirementPreparer
File "/home/jbanorthwest.co.uk/danielevans/venvs/farmcat3/lib/python3.6/site-packages/pip/_internal/operations/prepare.py", line 16, in <module>
from pip._internal.distributions import (
File "/home/jbanorthwest.co.uk/danielevans/venvs/farmcat3/lib/python3.6/site-packages/pip/_internal/distributions/__init__.py", line 1, in <module>
from pip._internal.distributions.source import SourceDistribution
ImportError: cannot import name 'SourceDistribution'
Trik curl get-pip.py
tidak berhasil untuk saya, tetapi saya memecahkan mencari perbedaan antara venv saya dan "kode resmi" yang diinstal dari segi sistem. (Saya di sebuah cluster, _so hic sunt leones_...)
--- /usr/lib/python2.7/site-packages/pip/_internal/distributions/__init__.py 28-10-2019 08:47:20.727522000 +0100
+++ /home/dummyuser/ml/lib/python3.6/site-packages/pip/_internal/distributions/__init__.py 21-01-2020 12:55:48.000.000000 +0100
@@ -1,4 +1,4 @@
-dari pip._internal.distributions.source.legacy import SourceDistribution
+dari pip._internal.distributions.source impor SourceDistribution
dari pip._internal.distributions.wheel import WheelDistribution
dari pip._internal.utils.typing impor MYPY_CHECK_RUNNING
Pindah ke python -m pip
membantu dalam situasi saya. Dari https://github.com/ome/jenkins-library-recursivemerge/pull/4/files
Gagal:
(cd build && curl -sfL ${buildInfraUrl} | tar -zxf -)
virtualenv build/venv && build/venv/bin/pip install ${sccPackage}
Pass:
python -m venv build/venv
. build/venv/bin/activate
python -m pip install ${sccPackage}
@pradyunsg , pada Fedora 29 saya dapat mereproduksi seperti ini:
rm -rf ~/.local/lib/python3.7
sudo dnf install python3-pip
pip3.7 install -U --user pip
python3.7 -m pip install requests
```
Traceback (panggilan terakhir terakhir):
File "/usr/lib64/python3.7/runpy.py", baris 193, di _run_module_as_main
"__main__", mod_spec)
File "/usr/lib64/python3.7/runpy.py", baris 85, di _run_code
exec(kode, run_globals)
File "/home/kaiant/.local/lib/python3.7/site-packages/pip/__main__.py", baris 19, di
sys.keluar(_main())
File "/home/kaiant/.local/lib/python3.7/site-packages/pip/_internal/cli/main.py", baris 73, di main
perintah = create_command(cmd_name, terisolasi=("--terisolasi" di cmd_args))
File "/home/kaiant/.local/lib/python3.7/site-packages/pip/_internal/commands/__init__.py", baris 96, di create_command
modul = importlib.import_module(module_path)
File "/usr/lib64/python3.7/importlib/__init__.py", baris 127, di import_module
kembalikan _bootstrap._gcd_import(nama[level:], paket, level)
berkas "
berkas "
berkas "
berkas "
berkas "
berkas "
File "/home/kaiant/.local/lib/python3.7/site-packages/pip/_internal/commands/install.py", baris 24, di
dari pip._internal.cli.req_command import RequirementCommand
File "/home/kaiant/.local/lib/python3.7/site-packages/pip/_internal/cli/req_command.py", baris 20, di
dari pip._internal.operations.prepare import RequirementPreparer
File "/home/kaiant/.local/lib/python3.7/site-packages/pip/_internal/operations/prepare.py", baris 16, di
dari impor pip._internal.distributions (
File "/home/kaiant/.local/lib/python3.7/site-packages/pip/_internal/distributions/__init__.py", baris 1, di
dari pip._internal.distributions.source impor SourceDistribution
ImportError: tidak dapat mengimpor nama 'SourceDistribution' dari 'pip._internal.distributions.source' (/home/kaiant/.local/lib/python3.7/site-packages/pip/_internal/distributions/source/__init__.py)
Saya baru saja mendapatkan ini ketika penyebaran pip saya ditingkatkan secara otomatis dari 19.3.1 ke 20.0
Semuanya sudah menggunakan python -m pip - bukan itu masalahnya di sini
Saya dapat memberi tahu Anda bahwa perbaikan dari JediKev, yaitu menghapus folder ini:
paket-situs/pip/_internal/distribusi/sumber
memperbaiki masalah
Konteks Python Docker biasa menggunakan wadah python:3.7-slim
(berbasis Debian) juga terpengaruh:
[32;1m$ docker build --compress -t $REGISTRY_IMAGE_SPARROW .[0;m
#2 [internal] load .dockerignore
#2 transferring context: 493B done
#2 DONE 0.0s
#1 [internal] load build definition from Dockerfile
#1 transferring dockerfile: 1.22kB done
#1 DONE 0.0s
#3 [internal] load metadata for docker.io/library/python:3.7-slim
#3 DONE 0.8s
#4 [base 1/6] FROM docker.io/library/python:3.7-slim<strong i="7">@sha256</strong>:5886bc9424f2edc...
#4 DONE 0.0s
#5 [internal] load build context
#5 transferring context: 531.72kB 0.0s done
#5 DONE 0.0s
#10 [base 6/6] RUN pip install --upgrade pip
#10 CACHED
#8 [base 4/6] RUN ln -s usr/local/bin/docker-entrypoint.sh / # backwards co...
#8 CACHED
#9 [base 5/6] WORKDIR /app
#9 CACHED
#6 [base 2/6] COPY docker-entrypoint.sh /usr/local/bin/
#6 CACHED
#7 [base 3/6] RUN chmod +x /usr/local/bin/docker-entrypoint.sh
#7 CACHED
#11 [requirements 1/2] COPY requirements.txt requirements.txt
#11 CACHED
#12 [requirements 2/2] RUN pip install --no-cache-dir -r requirements.txt
#12 0.912 Traceback (most recent call last):
#12 0.912 File "/usr/local/bin/pip", line 8, in <module>
#12 0.912 sys.exit(main())
#12 0.912 File "/usr/local/lib/python3.7/site-packages/pip/_internal/cli/main.py", line 73, in main
#12 0.912 command = create_command(cmd_name, isolated=("--isolated" in cmd_args))
#12 0.912 File "/usr/local/lib/python3.7/site-packages/pip/_internal/commands/__init__.py", line 96, in create_command
#12 0.912 module = importlib.import_module(module_path)
#12 0.912 File "/usr/local/lib/python3.7/importlib/__init__.py", line 127, in import_module
#12 0.912 return _bootstrap._gcd_import(name[level:], package, level)
#12 0.912 File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
#12 0.912 File "<frozen importlib._bootstrap>", line 983, in _find_and_load
#12 0.912 File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
#12 0.912 File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
#12 0.913 File "<frozen importlib._bootstrap_external>", line 728, in exec_module
#12 0.913 File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
#12 0.913 File "/usr/local/lib/python3.7/site-packages/pip/_internal/commands/install.py", line 24, in <module>
#12 0.913 from pip._internal.cli.req_command import RequirementCommand
#12 0.913 File "/usr/local/lib/python3.7/site-packages/pip/_internal/cli/req_command.py", line 20, in <module>
#12 0.913 from pip._internal.operations.prepare import RequirementPreparer
#12 0.913 File "/usr/local/lib/python3.7/site-packages/pip/_internal/operations/prepare.py", line 16, in <module>
#12 0.913 from pip._internal.distributions import (
#12 0.913 File "/usr/local/lib/python3.7/site-packages/pip/_internal/distributions/__init__.py", line 1, in <module>
#12 0.913 from pip._internal.distributions.source import SourceDistribution
#12 0.913 ImportError: cannot import name 'SourceDistribution' from 'pip._internal.distributions.source' (/usr/local/lib/python3.7/site-packages/pip/_internal/distributions/source/__init__.py)
#12 ERROR: executor failed running [/bin/sh -c pip install --no-cache-dir -r requirements.txt]: runc did not terminate sucessfully
------
> [requirements 2/2] RUN pip install --no-cache-dir -r requirements.txt:
------
failed to solve with frontend dockerfile.v0: failed to build LLB: executor failed running [/bin/sh -c pip install --no-cache-dir -r requirements.txt]: runc did not terminate sucessfully
Mendapat hal yang sama di python:3.7.6-alpine
berjalan di tindakan github
Saya dapat mereproduksi kesalahan ini dalam Dockerfile
:
FROM python:3.7
COPY requirements.txt .
RUN pip install --upgrade pip
RUN pip install -r requirements.txt
CMD pip --version
Dan di requirements.txst
:
Ketika saya membuat gambar ini, saya mendapatkan kesalahan buruk ini. Jika saya menghapus baris yang meningkatkan pip, gambar akan dibuat.
Oke, saya telah mereproduksi ini secara lokal -- Saya akan segera mengajukan PR dengan perbaikan.
Menghapus folder ./site-packages/pip/_internal/distributions/source membantu!
Ya, pip versi 20.0 rusak
Ya, memiliki masalah yang sama di sini (pip 20.0).
Yap, pip 20.0 break , menggunakan "virtualenv ." perintah untuk membuat venv
Sama di sini, semua build CI kami yang pip pembaruannya gagal.
Semua build rusak karena kesalahan yang sama di pihak kami juga.
Bangunan rusak
Bagaimana jika saya memutar kembali ke pip 19.x? Apakah itu akan berhasil?
EDIT:
pip install --upgrade "pip==19.3.1"
masih berfungsi.
Sama di sini dengan python 3.7.3 dan pip 20.0
pip install pip"<20.0"
solusi temp tetapi berhasil.
mungkinkah membuat virtualenv
seting pip
versio ke 19.3.1 (sebelumnya)
Perbaikan cepat yang berhasil adalah
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.pypython get-pip.py pip==9.0.2
Menyimpan pipa CI kami
Baca Dokumen juga terganggu oleh masalah ini sekarang, membuat pembuatan dokumen selalu gagal
mungkinkah membuat virtualenv seting pip versio ke 19.3.1 (sebelumnya)
@manutero , --no-download
dari perintah virtualenv
akan menghindari mencoba mengunduh versi terbaru pip
pada saat membuat lingkungan.
Jika Anda menggunakan virtualenv, turunkan saja ke 19.x. Ini menyelesaikan masalah di virtualenv saya:
virtualenv --no-pip <ENV NAME>
# activate the virtual environment
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py pip==19.2.2
Harus memilih versi sebelumnya untuk memilah,
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py pip=19.3.1
Sama di sini dengan python 3.7.6 dan pip 20.0
pip versi-20.0
versi python - 3.6
Cukup tulis baris di bawah ini dalam file
dari .legacy import SourceDistribution
Bisakah orang lain yang melihat kegagalan ini mengonfirmasi bahwa ada sumber/ folder di pip/_internal/distribusi?
Jika Anda dapat mengonfirmasi bahwa folder itu ada, jangan berkomentar di sini -- gunakan reaksi 👍 di postingan ini. Folder itu tidak ada, gunakan reaksi .
masalah yang sama di sini dengan ubuntu 19.04
Successfully installed pip-20.0
Traceback (most recent call last):
File "/home/pippo/.venvs/test_pgm/bin/pip", line 10, in <module>
sys.exit(main())
File "/home/pippo/.venvs/test_pgm/lib/python3.7/site-packages/pip/_internal/cli/main.py", line 73, in main
command = create_command(cmd_name, isolated=("--isolated" in cmd_args))
File "/home/pippo/.venvs/test_pgm/lib/python3.7/site-packages/pip/_internal/commands/__init__.py", line 96, in create_command
module = importlib.import_module(module_path)
File "/usr/lib/python3.7/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/home/pippo/.venvs/test_pgm/lib/python3.7/site-packages/pip/_internal/commands/install.py", line 24, in <module>
from pip._internal.cli.req_command import RequirementCommand
File "/home/pippo/.venvs/test_pgm/lib/python3.7/site-packages/pip/_internal/cli/req_command.py", line 20, in <module>
from pip._internal.operations.prepare import RequirementPreparer
File "/home/pippo/.venvs/test_pgm/lib/python3.7/site-packages/pip/_internal/operations/prepare.py", line 16, in <module>
from pip._internal.distributions import (
File "/home/pippo/.venvs/test_pgm/lib/python3.7/site-packages/pip/_internal/distributions/__init__.py", line 1, in <module>
from pip._internal.distributions.source import SourceDistribution
ImportError: cannot import name 'SourceDistribution' from 'pip._internal.distributions.source' (/home/pippo/.venvs/test_pgm/lib/python3.7/site-packages/pip/_internal/distributions/source/__init__.py)
Itu tidak muncul dengan pip==19.2.3 jadi untuk saat ini saya mengembalikannya
Tolong berhenti melaporkan "saya juga". @pradyunsg sedang memperbaikinya sekarang
Ya. memukul ini sekarang berhasil kemarin.
cuplikan untuk pengguna pipenv
wget https://bootstrap.pypa.io/get-pip.py -O get-pip.py
pipenv run python get-pip.py pip==19.3
Untuk perbaikan cepat,
$(which easy_install) pip==19.3
juga berfungsi dengan baik
Untuk perbaikan cepat,
$(which easy_install) pip==19.3
juga berfungsi dengan baik
Di antara semua solusi sementara, hanya yang ini yang berhasil untuk saya
Saya ingin tahu apa yang akan terjadi ketika mereka menghapus easy_install... :) - Bagaimana kita akan memperbaiki masalah pip?
Mengganti pip install --upgrade pip
dengan pip install --upgrade pip"<20.0"
bekerja di sini.
Harus memilih versi sebelumnya untuk memilah,
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py pip=19.3.1
Seharusnya python3 get-pip.py pip==19.3.1
Mengganti
pip install --upgrade pip
denganpip install --upgrade pip"<20.0"
bekerja di sini.
Bantu saya di buruh pelabuhan
JALANKAN pip install --upgrade pip"<20.0"
Terima kasih @PabloCastellano! Saya hanya mengabaikan komentar di sini sekarang, karena saya tidak ingin detak jantung saya naik lebih tinggi. :)
Membuat rilis perbaikan bug. Jika itu membantu, gunakan 👍 pada posting ini. Jika tidak, silakan tulis komentar dengan pesan kesalahan.
XD
Saya tidak ingin detak jantung saya naik lebih tinggi. :)
Membuat rilis perbaikan bug.
@pradyunsg Anda baru saja menurunkan milik saya. Tampaknya bekerja.
@SergeyLadutko :
Mengganti
pip install --upgrade pip
denganpip install --upgrade pip"<20.0"
bekerja di sini.Bantu saya di buruh pelabuhan
JALANKAN pip install --upgrade pip"<20.0"
coba pip install --upgrade pip==19.3.1
ok biarkan saya menjalankan build saya lagi
@pradyunsg Angkat topi untuk perbaikan cepat, kami sangat menghargainya <3 Saya dapat mengonfirmasi bahwa perbaikan ini telah diterapkan dalam pekerjaan CircleCI, bagi siapa pun yang bertanya-tanya.
Perhatikan bahwa get-pip.py belum diperbarui -- itu karena, yah, saya menggunakan lingkungan dev saya sendiri untuk get-pip saat menguji ini. :)
Saya akan memperbaruinya dalam beberapa menit ke depan.
Bisa konfirmasi. pip==20.0.1
berfungsi dengan baik
@pradyunsg ada perbaikan CI agar tidak terjadi lagi di masa depan? Wadah buruh pelabuhan sudah cukup. Apakah Anda akan menerima PR untuk ini?
Perhatikan bahwa get-pip.py belum diperbarui -- itu karena, yah, saya menggunakan lingkungan dev saya sendiri untuk get-pip saat menguji ini. :)
Saya akan memperbaruinya dalam beberapa menit ke depan.
:) beri tahu kami kapan ini akan berjalan dengan baik
Saya akan memperbaruinya dalam beberapa menit ke depan.
Baiklah, dorong ini sekarang. Perubahan seharusnya sudah disebarkan ke bootstrap.pypa.io sekarang. Atau itu akan benar-benar segera.
Build kami sekarang lulus dengan get-pip.py terima kasih @pradyunsg
pip 20.0.1 bekerja dengan baik. Terima kasih @pradyunsg
Saya dapat mengonfirmasi, pip
diinstal sekarang yang tidak lagi mengalami kesalahan ini. Terima kasih @pradyunsg !
Terima kasih @pradyunsg !!
terima kasih @pradyunsg ! sangat
terima kasih @pradyunsg untuk perbaikan cepatnya! 🎉.
Terima kasih @pradyunsg untuk perputaran cepat!
Saya pikir, masalahnya dibuat karena ada direktori modul source
serta source.py
di jalur pip/_internal/distributions
dan itu mengacaukan impor
Di pip/_internal/distributions/__init__.py
memiliki baris impor:
from pip._internal.distributions.source import SourceDistribution # <-- here
from pip._internal.distributions.wheel import WheelDistribution
from pip._internal.utils.typing import MYPY_CHECK_RUNNING
Tapi ada juga dir source
dengan __init__.py
di dalamnya,
env ~/.../_internal/distributions ls -ltr
total 32
-rw-r--r-- 1 user xxx 1294 Jan 21 18:02 wheel.py
-rw-r--r-- 1 user xxx 760 Jan 21 18:02 installed.py
-rw-r--r-- 1 user xxx 1425 Jan 21 18:02 base.py
drwxr-xr-x 3 user xxx 4096 Jan 21 18:02 source
-rw-r--r-- 1 user xxx 4201 Jan 21 18:19 source.py
-rw-r--r-- 1 user xxx 961 Jan 21 18:26 __init__.py
drwxr-xr-x 2 user xxx 4096 Jan 21 18:26 __pycache__
Karenanya impor itu akan gagal. Mengganti nama source.py
menjadi _source.py
dan mengubah impor di __init__.py
menjadi from pip._internal.distributions._source import SourceDistribution
tampaknya memperbaikinya
@pradyunsg Angkat topi untuk perbaikan cepat, kami sangat menghargainya <3
Setuju, perubahan haluan yang fantastis untuk perbaikan di sini!
Terima kasih @pradyunsg
Kesalahan yang sama seperti di atas.
Versi python: python-3.7.6
OS: Windows
Bekerja setelah pindah ke PIP 19.3.1
Bekerja dengan baik sekarang, terima kasih.
Mempertimbangkan sifat bug ini, dapatkah Anda menghapus rilis 20.0 dari PYPA? https://pypi.org/project/pip/#history
Pertanyaan lain akan apa yang bisa kita lakukan untuk menghindari regresi serupa di masa depan.
Maaf semuanya atas kerusakannya, dan terima kasih telah bekerja sama dengan kami di sini untuk memperbaiki kerusakan ini!
@xavfernandez mengetahui mengapa ini terjadi dan kami akan membuat perubahan pada proses rilis kami untuk mencegah kegagalan serupa di masa mendatang: #7624
kerja bagus, terima kasih untuk perputaran cepat kilat!
Halo, saya terjebak di 20.0
Semua perintah yang saya coba mengembalikan kesalahan ini tentang 'SourceDistribution'.
pip install --upgrade pip
pip install pip "<20.0"
pip install --upgrade "pip==19.3.1"
Saya lelah untuk menghapus juga:
pip uninstall pip
python -m pip uninstall pip setuptools
Adakah yang punya solusi lain untuk menghapus pip?
Ubuntu 18.04.3 LTS
Python 3.6.9
jalankan di virtualenv
Hai @CharrierCoop! Anda seharusnya dapat mengunduh get-pip.py dan menginstal pip 20.0.1 menggunakan itu.
Sempurna !!
terima kasih @pradyunsg
dapatkah Anda menghapus rilis 20.0 dari PYPA?
Tidak. Kami tidak akan menghapusnya. Kami memiliki fitur yang didukung standar untuk "mencabut" rilis yang rusak. Setelah PyPI menambahkan dukungan untuk itu, kami akan mencabut rilis ini (jika ada yang peduli saat itu).
Lihat https://www.python.org/dev/peps/pep-0592/#motivation untuk detail selengkapnya.
sudo python get-pip.py pip==19.3.1"
perbaiki masalah ini
sudo python get-pip.py pip==19.3.1"
perbaiki masalah ini
Terima kasih banyak
sudo python get-pip.py pip==19.3.1"
perbaiki masalah ini
Tidak perlu masalah ini diperbaiki oleh @pradyunsg
Hai @CharrierCoop! Anda seharusnya dapat mengunduh get-pip.py dan menginstal pip 20.0.1 menggunakan itu.
Saya mencoba melakukan hal yang sama pada Raspberry Pi 4 (Python 3.7.3, versi pip - 20.0 dan OS - Raspbian Buster Lite), tetapi tidak berhasil.
KESALAHAN: Tidak dapat menemukan versi yang memenuhi persyaratan pi p
KESALAHAN: Tidak ditemukan distribusi yang cocok untuk pip
Ada solusi?
@ Gilf641 Silakan ajukan masalah baru -- ini akan lebih mudah dikelola oleh pengelola.
Saya akan melanjutkan dan menutup masalah ini sekarang, karena sepertinya semuanya berfungsi untuk sebagian besar pengguna.
Jika Anda masih menghadapi masalah, harap cari duplikat yang diajukan sebelumnya (sejak 21 Jan, untuk pip 20.0) dan jika tidak ada, ajukan masalah baru.
Komentar yang paling membantu
Terima kasih @PabloCastellano! Saya hanya mengabaikan komentar di sini sekarang, karena saya tidak ingin detak jantung saya naik lebih tinggi. :)
Membuat rilis perbaikan bug. Jika itu membantu, gunakan 👍 pada posting ini. Jika tidak, silakan tulis komentar dengan pesan kesalahan.