بيئة
تستخدم CircleCI Conda ، على سبيل المثال https://circleci.com/gh/peterjc/thapbi-pict/1073
pip install --upgrade pip setuptools
)لقد أجريت تغييرات طفيفة فقط على الكود الخاص بي ، ولكن اليوم ، تعطلت إنشاءات CircleCI أثناء مرحلة الإنشاء / التثبيت لأداة Python الخاصة بي - تأثرت عدة فروع. التوقيت يناسب إصدار النقطة 19.3 في PyPI.
وصف
يبدو أن إصدارًا حديثًا للنقطة قد نقل بعض الملفات الداخلية ، تخميني هو # 6830.
سلوك متوقع
كيفية التكاثر
الإخراج الكامل على https://circleci.com/gh/peterjc/thapbi-pict/1073 الذي يعمل https://github.com/peterjc/thapbi-pict/blob/9fcec2da60e6e6ae5cf7ee6ad4b53dcc3a40cfe7/.circleci/config.yml#
...
python setup.py sdist --formats=gztar
python setup.py bdist_wheel
pip install dist/thapbi_pict-*.whl
انتاج |
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
سيكون من المفيد حقًا معرفة ما الذي يستخدمه إعداد CircleCI (أو conda؟) لواجهات برمجة التطبيقات الداخلية - لا ينبغي أن تؤثر إعادة التنظيم على أي كود خارجي. المشكلة الرئيسية التي نعرفها حتى الآن هي إعادة تنظيم main ، والتي تؤثر على البرامج النصية المجمعة ، لكن هذه المشكلة تبدو مختلفة بعض الشيء. أي فكرة يمكن أن تقدمها ستكون مفيدة للغاية ، شكرًا.
أكد أن إزالة pip install --upgrade pip setuptools
أشياء ثابتة ،
https://github.com/peterjc/thapbi-pict/commit/4060404c1034a676439aef1369260022577a6627
https://circleci.com/gh/peterjc/thapbi-pict/1074
على سبيل المثال ، حدث شيء ما في كيفية التحديث من نقطة 19.2.3 إلى 19.3
أنا لا أستخدم لغة Python المقدمة من CircleCI ، بدلاً من لغة Python المقدمة من Conda - هل هناك قيمة في التبديل من pip ...
إلى python -m pip ...
فقط لإزالة احتمال أن يكون هذا بسبب خلط Pythons؟
العمل على فرع الآن ، أضف المزيد من التسجيل والعودة إلى الإصدار المعطل:
https://circleci.com/gh/peterjc/thapbi-pict/1076
هذا يؤكد أن traceback يتم تشغيله بواسطة pip install dist/thapbi_pict-*.whl
(حرف البدل لمطابقة العجلة المفردة حديثًا).
حسنًا ، استخدام python -m pip ...
بدلاً من pip ...
لا يساعد:
https://circleci.com/gh/peterjc/thapbi-pict/1077
https://github.com/peterjc/thapbi-pict/commit/c168fbb7b61b2670bfb73dfb7ea87605fd17bfaf
لما يستحق ، لقد أكدت للتو أن from pip._internal import main
يعمل على ترقية بسيطة للنقطة (على Windows ، لذا فهي ليست مقارنة جيدة حقًا ، ولكن على أي حال ...). لذلك أظن أن هناك شيئًا غير متطابق في بيئتك ، على الرغم من أنني لا أستطيع أن أرى ما هو عليه من التتبع.
تمتلك شركة CircleCI القدرة على إعادة تشغيل وظيفة مع وصول SSH إلى الجهاز الظاهري (ليس هذا الذي استخدمته من قبل) ، لذلك من الناحية النظرية يمكن استخدام هذا لتصحيح الأخطاء ، لكنني لا أعرف حقًا من أين أبدأ.
لدي عمل في الوقت الحالي ، وفي وقت ما سيكون لدى conda-forge نقطة 19.3 مغلفة أيضًا ، لذا ما لم يرى أشخاص آخرون نفس الاستثناء ، يبدو أنها ذات أولوية منخفضة؟
حسنا رائع. إذا كان لديك حل بديل ، فأنا بخير تركه هناك في الوقت الحالي. إذا أضاف الآخرون تعليقات تفيد بحدوث ذلك في مكان آخر ، فيمكننا إجراء المزيد من البحث بعد ذلك - ربما سيكون لديهم معلومات إضافية من شأنها أن تساعد.
أواجه مشكلة مماثلة على macOS ، python: 3.6.9. الأمر pip على طرفي الطرفي لا يعمل بعد الآن. أي اقتراحات؟
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
هذا ساعد حتى الآن
لدي نفس المشكلة على CircleCI منذ ساعة واحدة.
تغيير إصدار صورة عامل الإرساء من بيثون: 3.7 إلى بيثون: 3.7.4 يعمل على إصلاح هذه المشكلة. (مجرد حل بديل). مثله:
version: 2
...
jobs:
build:
docker:
- image: python:3.7.4
...
هل أي منكم يستخدم التخزين المؤقت؟ أعتقد أنه من الممكن أن تتغير بعض العناصر الداخلية للنقطة وعندما تستعيد ذاكرة التخزين المؤقت لإصدار بيثون القديم ، فواصل نقطة. نقترح عليك إبطال ذاكرة التخزين المؤقت لدائرتك عن طريق تغيير keys
وانظر ماذا يحدث ... (نجح معي!)
كما هو مقترح من قبل bgkelly ، فإن مسح ذاكرة التخزين المؤقت يعمل أيضًا بالنسبة لي!
نعم - نفس الشيء بالنسبة لي - أدى تغيير مفتاح ذاكرة التخزين المؤقت إلى حل هذا لمشروعات فريقنا على Circleci. شكرا bgkelly
تغيير مفتاح ذاكرة التخزين المؤقت لم يحل المشكلة بالنسبة لي.
إضافة تعليق في requirements.txt
فعل ذلك ، لكن هذا ليس الحل المرغوب.
حسنًا ، يبدو أن هذه مشكلة تخزين مؤقت لـ CircleCI.
هل يمكن لشخص ما التواصل مع أفراد CircleCI (عبر قنوات الدعم الخاصة بهم)؟ سيكون من الرائع أن ينظروا في هذا وربما يتناغمون هنا.
مرحبًا أيها الناس ،
لا أعرف حقًا ما إذا كان هذا يساعدك بأي شكل من الأشكال ، لكنني تلقيت نفس رسالة الخطأ في إعداد MSYS الخاص بي أثناء محاولة تثبيت WeasyPrint.
بعد إلغاء تثبيت python3-pip و python3-setuptools ، قمت بحذف جميع مجلدات pip في /usr/lib/python3.7/site-packages/ وأعدت تثبيتهما .. حل هذا الخطأ المحدد.
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
لكي نكون منصفين ، واجهت الآن مشكلات في المترجم ... لكن ربما يمكنني المساعدة ....
فقط في حال كان هذا قد يساعد ، فقد واجهت الخطأ في سياق مختلف: عند نسخ بيئة افتراضية من صورة عامل إرساء إلى أخرى ، في إعداد متعدد المراحل.
تحتوي الصورة المصدر على إصدار أقل حداثة من pip
بينما تحتوي الصورة الهدف على نسخة مطورة من pip
. بعد نسخ دليل البيئة الافتراضية للصورة المصدر إلى الصورة الهدف ، يوجد دليلين مختلفين ( pip-<version>.dist-info
) ضمن البيئة الافتراضية site-packages
و pip
لا يعمل ، مما يعطي نفس الخطأ كما ورد في هذه المسألة.
لم أقض وقتًا طويلاً في استكشاف الأخطاء وإصلاحها لأنني متشكك إلى حد ما في هذا الأسلوب الذي يتضمن نسخ البيئة الافتراضية في بيئة حيث توجد حزم مثبتة بالفعل.
على أي حال ، يبدو أنها مشكلة تصادم الحزمة.
أتمنى أن يساعدك هذا! :ابتسامة:
مرحبا
أعتقد أننا نرى نفس المشكلة على خادم ReadTheDocs الداخلي الخاص بنا. يقوم بتشغيل الأمر التالي عند إنشاء مستند:
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
إذا قمت بمسح ذاكرة التخزين المؤقت للبناء عبر واجهة ReadTheDocs GUI ، فإن الإنشاء يكون ناجحًا - ولكن فقط حتى المرة التالية التي يتم فيها بدء البناء.
هنا السجل الكامل:
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'
مرحبا،
لقد واجهت المشكلة أيضًا.
نظام التشغيل: Debian GNU / Linux 10 (Linux 4.19.0-6-amd64)
النقطة: 19.3.1
كوندا: 4.7.12
بايثون: 3.7.4
$ نقطة
Traceback (آخر مكالمة أخيرة):
ملف "/ home / jiang / anaconda3 / bin / pip" ، السطر 7 ، in
من pip._internal import main
ملف "/home/jiang/anaconda3/lib/python3.7/site-packages/pip/_internal/__init__.py" ، السطر 40 ، في
من pip._internal.cli.autocompletion الإكمال التلقائي للاستيراد
ملف "/home/jiang/anaconda3/lib/python3.7/site-packages/pip/_internal/cli/autocompletion.py" ، السطر 8 ، في
من pip._internal.cli.main_parser استيراد create_main_parser
ملف "/home/jiang/anaconda3/lib/python3.7/site-packages/pip/_internal/cli/main_parser.py" ، السطر 11 ، في
من استيراد pip._internal.commands (
ملف "/home/jiang/anaconda3/lib/python3.7/site-packages/pip/_internal/commands/__init__.py" ، السطر 9 ، في
من pip._internal.commands.download استيراد DownloadCommand
ملف "/home/jiang/anaconda3/lib/python3.7/site-packages/pip/_internal/commands/download.py" ، السطر 10 ، في
من pip._internal.operations.pare متطلبات الاستيراد
ملف "/home/jiang/anaconda3/lib/python3.7/site-packages/pip/_internal/operations/prepare.py" ، السطر 9 ، في
من pip._internal.distributions استيراد (
ملف "/home/jiang/anaconda3/lib/python3.7/site-packages/pip/_internal/distributions/__init__.py" ، السطر 1 ، في
من pip._internal.distributions.source استيراد SourceDistribution
خطأ في الاستيراد: لا يمكن استيراد اسم "SourceDistribution" من "pip._internal.distributions.source" (/home/jiang/anaconda3/lib/python3.7/site-packages/pip/_internal/distributions/source/__init__.py)
تمكنا من القيام بعمل بديل على خادم ReadTheDocs المحلي الخاص بنا من خلال تغيير تدفق الإنشاء لاستخدام إصدار النقطة 19.2.3 على وجه التحديد. يقوم ReadTheDocs الآن بتشغيل أمر الإنشاء التالي - ولم تعد لدينا مشكلة في التخزين المؤقت:
/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
وبشكل أكثر تحديدا، نحن تحديث الملف python_environment.py المحلي لاستخدام محدد نقطة النسخة: https://github.com/readthedocs/readthedocs.org/blob/7212d6ff738b24a10fb0f4227d3fbdf69e5cab42/readthedocs/doc_builder/python_environments.py#L322
cmd = pip_install_cmd + ['pip']
تغير إلى:
cmd = pip_install_cmd + ['pip==19.2.3']
أعلم أن الإعداد الخاص بي قد يكون مختلفًا عن معظمه ولكن المشكلة من جانبي كانت بسبب دليل PIP sources/
في البيئة الافتراضية (على الأرجح مشكلات التخزين المؤقت PIP أو شيء من هذا القبيل). دعني أشرح:
عند حذف الدليل user_builds/project/envs/
لمشروع ما وإعادة بنائه يعمل فقط حتى تذهب لإعادة البناء مع وجود الدليل envs/
مرة أخرى. لقد أمضيت الكثير من الوقت في تصحيح أخطاء المشكلة واتضح أن الدليل user_builds/project/envs/
(أو شيء ما بداخله) تسبب في حدوث مشكلات. هكذا فعلت أكثر اختبار لمعرفة أنه كان user_builds/project/envs/latest/lib/python3.6/site-packages/pip/_internal/distributions/source/
دليل تسبب القضايا على وجه التحديد. أزلت الدليل user_builds/project/envs/latest/lib/python3.6/site-packages/pip/_internal/distributions/source/
، وأعدت بنائه ، وكان كل شيء على ما يرام. أعدت البناء مرة أخرى وفشلت. راجعت الدليل user_builds/project/envs/latest/lib/python3.6/site-packages/pip/_internal/distributions/
مرة أخرى ورأيت أن source/
كان موجودًا. لذلك ذهبت إلى تثبيت Python العالمي الخاص بي وقمت بنقل الدليل /path/to/lib/python3.6/dist-packages/pip/_internal/distributions/source/
من PIP ، وإزالة الدليل user_builds/project/envs/latest/lib/python3.6/site-packages/pip/_internal/distributions/source/
من بيئة المشروع ، وإعادة بنائه. تم إنشاء هذا بنجاح ولم يتم نسخه فوق المجلد source/
، ممتاز. حتى الآن ، في أي وقت تنشئه المستندات ، فإنها تنشئها بدون أخطاء. آمل أن يساعد هذا شخص آخر.
هتافات.
جرب هذا:
1.curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
2.python get-pip.py
يارب
حاولت ذلك عدة مرات دون جدوى. عليك القيام بذلك في البداية على أي حال حتى لا يساعدك ذلك. شكرا على أي حال.
هتافات.
جرب هذا:
1.curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
2.python get-pip.py
شكرا لك
أواجه الآن مشكلات مع هذا في الإصدار 0.20.
النظر في هذا الناس الآن. إذا كان بإمكان شخص ما تقديم إرشادات حول كيفية التكاثر باستخدام النقطة 20.0 ، فسيكون ذلك رائعًا!
واجهت نفس المشكلة:
virtualenv venv
. venv/bin/activate
pip install sqlalchemy pymysql
من النتائج إلى
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)
إذا كان بإمكان أي شخص تقديم تعليمات حول كيفية إعادة الإنتاج باستخدام النقطة 20.0 ،
باختصار ، "حاول استخدام النقطة"! نتائج محاولة تثبيت scipy على بيئة افتراضية تعمل ، والتي تم تثبيت scipy عليها بالفعل (على سبيل المثال ، أتوقع أن لا تفعل النقطة أي شيء):
(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'
لم تنجح خدعة curl get-pip.py
بالنسبة لي ، لكنني قمت بحل البحث عن الاختلافات بين venv و "الكود الرسمي" المثبت على النظام. (أنا في عنقود ، _لذا مرحبًا بك يا ليون _...)
--- /usr/lib/python2.7/site-packages/pip/_internal/distributions/__init__.py 2019-10-28 08: 47: 20.727522000 +0100
+++ /home/dummyuser/ml/lib/python3.6/site-packages/pip/_internal/distributions/__init__.py 2020-01-21 12: 55: 48.000000000 +0100
-1،4 +1،4
- من pip._internal.distributions.source.legacy استيراد SourceDistribution
+ من pip._internal.distributions.source استيراد SourceDistribution
من pip._internal.distributions.wheel استيراد WheelDistribution
من pip._internal.utils.typing استيراد MYPY_CHECK_RUNNING
الانتقال إلى python -m pip
ساعدني في وضعي. من https://github.com/ome/jenkins-library-recursivemerge/pull/4/files
فشل:
(cd build && curl -sfL ${buildInfraUrl} | tar -zxf -)
virtualenv build/venv && build/venv/bin/pip install ${sccPackage}
يمر، يمرر، اجتاز بنجاح:
python -m venv build/venv
. build/venv/bin/activate
python -m pip install ${sccPackage}
pradyunsg ، في Fedora 29 يمكنني إعادة الإنتاج مثل هذا:
rm -rf ~/.local/lib/python3.7
sudo dnf install python3-pip
pip3.7 install -U --user pip
python3.7 -m pip install requests
""
Traceback (آخر مكالمة أخيرة):
ملف "/usr/lib64/python3.7/runpy.py" ، السطر 193 ، في _run_module_as_main
"__main__" ، mod_spec)
ملف "/usr/lib64/python3.7/runpy.py" ، السطر 85 ، في _run_code
exec (كود ، run_globals)
ملف "/home/kaiant/.local/lib/python3.7/site-packages/pip/__main__.py" ، السطر 19 ، في
sys.exit (_main ())
ملف "/home/kaiant/.local/lib/python3.7/site-packages/pip/_internal/cli/main.py" ، السطر 73 ، بشكل رئيسي
الأمر = create_command (cmd_name ، معزول = ("- معزول" في cmd_args))
ملف "/home/kaiant/.local/lib/python3.7/site-packages/pip/_internal/commands/__init__.py" ، السطر 96 ، في create_command
module = importlib.import_module (module_path)
ملف "/usr/lib64/python3.7/importlib/__init__.py" ، السطر 127 ، في import_module
إرجاع _bootstrap._gcd_import (الاسم [المستوى:] ، الحزمة ، المستوى)
ملف "
ملف "
ملف "
ملف "
ملف "
ملف "
ملف "/home/kaiant/.local/lib/python3.7/site-packages/pip/_internal/commands/install.py" ، السطر 24 ، في
من pip._internal.cli.req_command متطلبات الاستيراد الأمر
ملف "/home/kaiant/.local/lib/python3.7/site-packages/pip/_internal/cli/req_command.py" ، السطر 20 ، في
من pip._internal.operations.pare متطلبات الاستيراد
ملف "/home/kaiant/.local/lib/python3.7/site-packages/pip/_internal/operations/prepare.py" ، السطر 16 ، في
من pip._internal.distributions استيراد (
ملف "/home/kaiant/.local/lib/python3.7/site-packages/pip/_internal/distributions/__init__.py" ، السطر 1 ، في
من pip._internal.distributions.source استيراد SourceDistribution
خطأ في الاستيراد: لا يمكن استيراد اسم "SourceDistribution" من "pip._internal.distributions.source" (/home/kaiant/.local/lib/python3.7/site-packages/pip/_internal/distributions/source/__init__.py)
لقد حصلت للتو على هذا عندما تمت ترقية نقطة النشر تلقائيًا من 19.3.1 إلى 20.0
كل شيء يستخدم بالفعل python -m pip - ليست هذه هي المشكلة هنا
أستطيع أن أخبرك أن الإصلاح من JediKev ، وهو حذف هذا المجلد:
حزم الموقع / النقطة / الداخلية / التوزيعات / المصدر
أصلح المشكلة
يتأثر أيضًا سياق Python Docker العادي الذي يستخدم الحاوية python:3.7-slim
(المستندة إلى Debian):
[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
حصلت على نفس الشيء في python:3.7.6-alpine
تعمل على إجراءات github
يمكنني إعادة إنتاج هذا الخطأ في Dockerfile
:
FROM python:3.7
COPY requirements.txt .
RUN pip install --upgrade pip
RUN pip install -r requirements.txt
CMD pip --version
وبدولار requirements.txst
:
عندما أقوم ببناء هذه الصورة ، أحصل على هذا الخطأ السيئ. إذا قمت بإزالة السطر الذي يقوم بترقية النقطة ، فإن الصورة تبنى.
حسنًا ، لقد أعدت إنتاج هذا محليًا - سأتقدم بعلاقات عامة مع إصلاح قريبًا.
إزالة المجلد ./site-packages/pip/_internal/distributions/source يساعد!
نعم ، نسخة النقطة 20.0 تكسر
نعم ، هناك نفس المشكلة هنا (نقطة 20.0).
نعم ، فواصل النقطة 20.0 باستخدام "virtualenv." الأمر لإنشاء venv
نفس الشيء هنا ، كل بناءات CI الخاصة بنا والتي فشلت في التحديث.
تم تعطيل جميع الإنشاءات بسبب نفس الخطأ من جانبنا أيضًا.
تحطمت الأبنية
ماذا لو رجعت إلى النقطة 19.x؟ هل ستنجح؟
تعديل:
لا يزال pip install --upgrade "pip==19.3.1"
يعمل.
نفس الشيء هنا مع python 3.7.3 و pip 20.0
pip install pip"<20.0"
حل مؤقت لكنه يعمل.
ربما يكون من الممكن إنشاء virtualenv
لتعيين pip
نسخة إلى 19.3.1 (السابق).
الإصلاح السريع الذي يعمل
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.pypython get-pip.py pip == 9.0.2
تم حفظ خط أنابيب CI الخاص بنا
قراءة المستندات تعاني أيضًا من هذه المشكلة الآن ، مما يجعل إنشاء المستندات يفشل باستمرار
ربما يكون من الممكن إنشاء نسخة وضع Virtualenv نسخة إلى 19.3.1 (السابق)
manutero، و --no-download
علم virtualenv
سوف قيادة تجنب تحاول تحميل أحدث نسخة من pip
في وقت خلق البيئة.
إذا كنت تستخدم virtualenv ، فقم فقط بالرجوع إلى الإصدار 19.x. أدى هذا إلى حل المشكلة في Virtualenv الخاص بي:
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
كان لا بد من تحديد الإصدار السابق لفرز ،
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py pip = 19.3.1
نفس الشيء هنا مع python 3.7.6 و pip 20.0
إصدار النقطة 20.0
نسخة بيثون - 3.6
فقط اكتب الأسطر أدناه في الملف
من .legacy استيراد SourceDistribution
هل يمكن للآخرين الذين يرون هذا الفشل تأكيد وجود مصدر / مجلد في pip / _internal / Distribution؟
إذا كان بإمكانك تأكيد وجود هذا المجلد ، فلا تعلق هنا - استخدم رد الفعل 👍 في هذا المنشور. هذا المجلد غير موجود ، استخدم رد الفعل 👎.
نفس المشكلة هنا مع 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)
لا يظهر مع النقطة == 19.2.3 لذا فقد قمت بإعادتها الآن
من فضلك توقف عن الإبلاغ عن "أنا أيضًا". pradyunsg يعمل على إصلاح الآن
نعم. ضرب هذا يعمل الآن أمس.
مقتطف لمستخدمي pipenv
wget https://bootstrap.pypa.io/get-pip.py -O get-pip.py
pipenv run python get-pip.py pip==19.3
للحصول على إصلاح سريع ،
$(which easy_install) pip==19.3
يعمل أيضا بشكل جيد
للحصول على إصلاح سريع ،
$(which easy_install) pip==19.3
يعمل أيضا بشكل جيد
بين جميع الحلول المؤقتة ، فقط هذا واحد يعمل بالنسبة لي
أتساءل ماذا سيحدث عندما يزيلون easy_install ... :) - كيف سنصلح مشكلات النقطة بعد ذلك؟
استبدال pip install --upgrade pip
بـ pip install --upgrade pip"<20.0"
العمل هنا.
كان لا بد من تحديد الإصدار السابق لفرز ،
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py pip = 19.3.1
يجب أن تكون python3 get-pip.py pip == 19.3.1
استبدال
pip install --upgrade pip
بـpip install --upgrade pip"<20.0"
العمل هنا.
ساعدني في عامل الإرساء
تثبيت نقطة RUN - ترقية نقطة "<20.0"
شكرا بابلو كاستيلانو! أنا فقط أتجاهل التعليقات هنا الآن ، لأنني لا أريد أن يرتفع معدل قلبي. :)
جعل الإصدار bugfix. إذا كان ذلك مفيدًا ، فاستخدم 👍 في هذا المنشور. خلاف ذلك ، يرجى كتابة تعليق مع رسالة الخطأ.
وجه ضاحك
لا أريد أن يرتفع معدل نبضات قلبي. :)
جعل الإصدار bugfix.
pradyunsg لقد خفضت للتو لي. يبدو أنه يعمل.
SergeyLadutko :
استبدال
pip install --upgrade pip
بـpip install --upgrade pip"<20.0"
العمل هنا.ساعدني في عامل الإرساء
تثبيت نقطة RUN - ترقية نقطة "<20.0"
جرب pip install --upgrade pip==19.3.1
حسنًا ، دعني أدير بنائي مرة أخرى
pradyunsg Hats
لاحظ أن get-pip.py لم يتم تحديثه حتى الآن - هذا لأنني ، حسنًا ، قمت بعمل بيئة التطوير الخاصة بي للحصول على نقطة عند اختبار ذلك. :)
سوف أقوم بتحديث ذلك في الدقائق القليلة القادمة.
يمكن تأكيد. pip==20.0.1
يعمل بشكل جيد
pradyunsg أي تحسينات على CI بحيث لا تحدث في المستقبل؟ ستكون حاوية عامل الميناء كافية. هل تقبل العلاقات العامة لهذا؟
لاحظ أن get-pip.py لم يتم تحديثه حتى الآن - هذا لأنني ، حسنًا ، قمت بعمل بيئة التطوير الخاصة بي للحصول على نقطة عند اختبار ذلك. :)
سوف أقوم بتحديث ذلك في الدقائق القليلة القادمة.
:) اسمحوا لنا أن نعرف متى سيكون هذا على ما يرام
سوف أقوم بتحديث ذلك في الدقائق القليلة القادمة.
حسنًا ، دفع هذا الآن. يجب أن ينتشر التغيير إلى bootstrap.pypa.io الآن. أو أنه سيكون قريبًا حقًا .
مر بنا الآن مع get-pip.py بفضل pradyunsg
20.0.1 نقطة تعمل بشكل صحيح. pradyunsg شكرا
أستطيع أن أؤكد أن pip
يتم تثبيته الآن ولم يعد يعاني من هذا الخطأ. pradyunsg شكرا!
pradyunsg شكرا !!
شكرا لك @ prradyunsg ! كثيرا
شكرا @ براديونج على الإصلاح السريع! 🎉
شكرا @ براديونسج للتحول السريع!
أعتقد أن المشكلة قد نشأت بسبب وجود دليل وحدة source
بالإضافة إلى source.py
في مسار pip/_internal/distributions
وهذا يفسد عمليات الاستيراد
في pip/_internal/distributions/__init__.py
يوجد سطر استيراد:
from pip._internal.distributions.source import SourceDistribution # <-- here
from pip._internal.distributions.wheel import WheelDistribution
from pip._internal.utils.typing import MYPY_CHECK_RUNNING
ولكن هناك أيضًا source
dir مع __init__.py
بالداخل هناك ،
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__
ومن ثم سيفشل هذا الاستيراد. يبدو أن إعادة تسمية source.py
إلى _source.py
وتغيير الاستيراد في __init__.py
إلى from pip._internal.distributions._source import SourceDistribution
pradyunsg القبعات من أجل الإصلاح السريع ، نحن نقدر ذلك حقًا <3
متفق عليه ، تحول رائع في الإصلاح هنا!
pradyunsg شكرا
نفس الخطأ أعلاه.
إصدار Python: python-3.7.6
نظام التشغيل: Windows
يعمل بعد الانتقال إلى PIP 19.3.1
يعمل بشكل رائع الآن ، شكرا.
بالنظر إلى طبيعة هذا الخطأ ، هل يمكنك إزالة الإصدار 20.0 من PYPA؟ https://pypi.org/project/pip/#history
سؤال آخر هو ما يمكننا القيام به لتجنب انحدار مماثل في المستقبل.
آسف للجميع على الكسر ، وشكرا للعمل معنا هنا لإصلاح هذا الكسر!
اكتشفxavfernandez سبب حدوث ذلك وسنقوم بإجراء تغييرات على عملية الإصدار لمنع حدوث إخفاقات مماثلة في المستقبل: # 7624
عمل رائع ، شكرًا على التحول السريع البرق!
مرحبًا ، أنا عالق في 20.0
جميع الأوامر التي جربتها تُرجع هذا الخطأ حول "SourceDistribution".
pip install --upgrade pip
pip install pip "<20.0"
pip install --upgrade "pip==19.3.1"
تعبت من إلغاء التثبيت أيضًا:
pip uninstall pip
python -m pip uninstall pip setuptools
هل لدى أي شخص حل آخر لإلغاء تثبيت النقطة؟
نظام التشغيل Ubuntu 18.04.3 LTS
بايثون 3.6.9
تشغيل في virtualenv
مرحبًاCharrierCoop! يجب أن تكون قادرًا على تنزيل get-pip.py وتثبيت pip 20.0.1 باستخدام ذلك.
في احسن الاحوال !!
شكرا لك @ براديونج
هل يمكنك إزالة الإصدار 20.0 من PYPA؟
لا. لن نقوم بحذفه. لدينا ميزة مدعومة بشكل قياسي من أجل "التخلص من" الإصدارات المعطلة. بمجرد أن يضيف PyPI دعمًا لذلك ، سنقوم بإلغاء هذا الإصدار (إذا كان أي شخص مهتمًا بذلك).
راجع https://www.python.org/dev/peps/pep-0592/#motivation لمزيد من التفاصيل.
sudo python get-pip.py pip==19.3.1"
إصلاح هذه المشكلة
sudo python get-pip.py pip==19.3.1"
إصلاح هذه المشكلة
شكرا جزيلا لك
sudo python get-pip.py pip == 19.3.1 "
إصلاح هذه المشكلة
لا داعي لإصلاح هذه المشكلة عن طريقpradyunsg
مرحبًاCharrierCoop! يجب أن تكون قادرًا على تنزيل get-pip.py وتثبيت pip 20.0.1 باستخدام ذلك.
حاولت فعل الشيء نفسه على Raspberry Pi 4 (Python 3.7.3 ، إصدار النقطة - 20.0 ونظام التشغيل - Raspbian Buster Lite) ، لكنه لم يكن ناجحًا.
خطأ: تعذر العثور على إصدار يلبي متطلبات pi p
خطأ: لم يتم العثور على توزيع مطابق للنقطة
اي حل؟
@ Gilf641 الرجاء تسجيل مشكلة جديدة - سيكون من الأسهل إدارتها
سأقوم بإغلاق هذه المشكلة الآن ، حيث يبدو أن الأشياء تعمل مع معظم المستخدمين.
إذا كنت لا تزال تواجه مشكلات ، فالرجاء البحث عن النسخ المكررة التي تم تقديمها مسبقًا (منذ 21 يناير ، للنقطة 20.0) وإذا لم يكن هناك أي منها ، فقم بتقديم مشكلة جديدة.
التعليق الأكثر فائدة
شكرا بابلو كاستيلانو! أنا فقط أتجاهل التعليقات هنا الآن ، لأنني لا أريد أن يرتفع معدل قلبي. :)
جعل الإصدار bugfix. إذا كان ذلك مفيدًا ، فاستخدم 👍 في هذا المنشور. خلاف ذلك ، يرجى كتابة تعليق مع رسالة الخطأ.