Virtualenv: لا يمكن تثبيت أي حزمة عبر "pip" على نظام التشغيل windows 10 ، وحدة ssl في Python غير متوفرة

تم إنشاؤها على ٢٨ فبراير ٢٠١٨  ·  54تعليقات  ·  مصدر: pypa/virtualenv

إصدار python: 3.6 (Intel Distribution for Python for Windows 2018 update 1)
إصدار virtualenv: 15.1.0
إصدار الويندوز: windows 10 pro، build 17101.rs4_release.180211-1040

لقد نفذت أمرين فقط ، وإليك ما هو إخراج Powershell:

PS E:\Python\Virtualenv\Scripts> .\activate
(Virtualenv) PS E:\Python\Virtualenv\Scripts> pip install numpy
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Collecting numpy
  Could not fetch URL https://pypi.python.org/simple/numpy/: There was a problem confirming the ssl certificate: Can't connect to HTTPS URL because the SSL module is not available. - skipping
  Could not find a version that satisfies the requirement numpy (from versions: )
No matching distribution found for numpy

هذا الدليل Python ليس مكان تثبيت Python ، إنه دليل عادي فقط.

لقد حاولت تثبيت بعض برامج opensl المستقلة ، مثل تلك الموجودة هنا ، لكن لم يعمل أي منهما.

التعليق الأكثر فائدة

كان لي نفس القضية. كنت أقوم بتكوين جهاز كمبيوتر جديد باستخدام python و jupyter مع الأناكوندا ، وحدثت المشكلة عندما حاولت تثبيت حزمة استخدام pip.

بناءً على المناقشات أعلاه ، أن هذه مشكلة بيئية ، حاولت تشغيل أمر "تثبيت النقطة" في Anaconda Prompt بدلاً من cmd . وتم تنفيذ أمر النقطة. 😁

ال 54 كومينتر

أفترض أن pip المستخدم هو الموجود في virtualenv . هل _system_ pip الخاص بك قادر على التثبيت؟ إذا لم يكن الأمر كذلك ، فقد لا تكون هذه مشكلة virtualenv ...

تضمين التغريدة
النظام pip على ما يرام ، لكن pip في virtualenv لا يجدي نفعا.
لا أعرف أين تكمن المشكلة ، ولا يمكنني حتى العثور على موقف مشابه على Google. :(
ليس فقط numpy ، لا يمكنه تثبيت أي حزمة على الإنترنت. ولكن إذا كان هناك ملف عجلة ، فيمكن تثبيته بنجاح ، وبالتالي أعتقد أن المشكلة قد تكون متعلقة بـ SSL.

حسنًا ، يستخدم PyPI https الآن ، لذا فأنت بحاجة إلى دعم ssl. إذا كان نظام Python الخاص بك لا يحتوي عليه ، فلن يكون لديك Virtualenv أيضًا. باستخدام Python 3 ، يجب أن تكون قادرًا على استيراد وحدة ssl :

>>> import ssl

قد يكون أفضل رهان هو التبديل إلى مترجم شفوي يحتوي على الوحدة النمطية ssl .
يبدو أن المترجم 3.6.4 الذي قمت بتنزيله للتو من https://www.python.org/ لديه دعم ssl.

AFAICS ، هذه ليست مشكلة virtualenv ؛ تقترح إغلاقه.

قد لا تكون مشكلة venv لكنها لا تزال مشكلة. في المثال الخاص بي لا يمكنني التثبيت في venv أو نظام نقطة
لدي IntelPython3 مثبتًا على نظام التشغيل Win 10 64 بت ونعم ، لقد تم تثبيت opensl وتجميعه ولكن لسبب ما لا تعمل الأشياء

لقد رأيت هذا: [(https://software.intel.com/en-us/forums/intel-distribution-for-python/topic/737878#comment-1920719)]

لكنني لم أتمكن من إصلاح روايتي من هذه المشكلة.

أي نصيحة حول هذه المسألة ستكون مفيدة للغاية

theCJMan هل ما زلت تواجه هذه المشكلة؟

لدي حول هذه المشكلة

في الثلاثاء ، 17 أبريل 2018 ، الساعة 19:44 ، Sumana Harihareswara ، [email protected]
كتب:

theCJMan https://github.com/theCJMan هل ما زلت تواجه هذا
مشكلة؟

-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/pypa/virtualenv/issues/1139#issuecomment-382081077 ،
أو كتم الخيط
https://github.com/notifications/unsubscribe-auth/AkTyyw5zfrJFZleItkAkrR1_kE9R-C8Cks5tpioOgaJpZM4SWUf4
.

أمان طبقة النقل ، أو TLS ، هو جزء من كيفية التأكد من أن الاتصالات بين جهاز الكمبيوتر الخاص بك و PyPI خاصة وآمنة. إنه بروتوكول تشفير له عدة إصدارات بمرور الوقت.

تحتاج إلى الاتصال بـ PyPI بمكتبة دعم TLS ، مثل إصدار حديث من OpenSSL. ستعتمد الخطوات المحددة التي تحتاج إلى اتخاذها على إصدار نظام التشغيل الخاص بك ، حيث نشأ تثبيت Python (python.org ، أو بائع نظام التشغيل الخاص بك ، أو موزع وسيط) ، والإصدارات المثبتة من Python ، setuptools ، pipenv و pip . للحصول على المساعدة ، يرجى الانتقال إلى #pypa IRC channel على Freenode ، أو تقديم مشكلة في pypa / مشاكل / مشاكل التعبئة والتغليف ، أو النشر في القائمة البريدية لمساعدة python ، بما في ذلك نظام التشغيل وتفاصيل التثبيت وإخراج تثبيت pip -vvv ترقية نقطة .

لقد اختبرت هذا أيضًا على نظام التشغيل macOS ، Python 2.7.15 - عمل نظام Python بشكل جيد ، وفشل تثبيت البيئة الافتراضية بسبب

pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

استورد نظام python الخاص بي ssl بخير ، لكن venv python أعطى الخطأ التالي:

raceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ssl.py", line 126, in <module>
    from _ssl import HAS_SNI, HAS_ECDH, HAS_NPN, HAS_ALPN, HAS_TLSv1_3
ImportError: cannot import name HAS_TLSv1_3

بعد حذف دليل env ، وإعادة إنشاء البيئة ، كل شيء يعمل بشكل جيد.

حصلت على نفس المشكلة مثل @ liurui39660 ، باستخدام Intel Python Distribution و python -m venv لإنشاء venv الخاص بي. يبدو أنها مشكلة في الوحدة النمطية ssl ، ولا علاقة لها بـ pip :

(venv) C:\Users\ceefour\git\tews\ecn-svc>python
Python 3.6.3 |Anaconda custom (64-bit)| (default, May  3 2018, 23:39:44) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Intel(R) Distribution for Python is brought to you by Intel Corporation.
Please check out: https://software.intel.com/en-us/python-distribution
>>> import ssl
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\ProgramData\Anaconda3\lib\ssl.py", line 101, in <module>
    import _ssl             # if we can't import it, let the error propagate
ImportError: DLL load failed: The operating system cannot run %1.
>>>

لاحظ أن الخطأ يظهر فقط عند استخدام Intel Python داخل ملف venv. عند استخدام البيئة الأساسية ، تعمل:

(base) C:\Users\ceefour>python
Python 3.6.3 |Anaconda custom (64-bit)| (default, May  3 2018, 23:39:44) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Intel(R) Distribution for Python is brought to you by Intel Corporation.
Please check out: https://software.intel.com/en-us/python-distribution
>>> import ssl
>>> 

تحديث: يبدو أن هذا الخيط دليل:

روهيت ج. (إنتل) الخميس، 07/06/2017 - 21:40
كانت النقطة غير قابلة للاستخدام مع كل من IDP و Miniconda على Windows. كانت المشكلة ناتجة عن جذر مكتبة متعارضة (libeay32.dll) تم تثبيتها في مسار النظام. في وقت التشغيل ، اكتسب تحميل هذه المكتبة الأسبقية على ما نشحنه مع توزيعنا. كان هناك تعارض في الإصدار وقد يفشل التنفيذ مع "خطأ استيراد: فشل تحميل DLL: لا يمكن لنظام التشغيل تشغيل٪ 1.". أدت إزالة هذه المكتبة الدخيلة من مسار النظام إلى حل المشكلة.

لدي _ كميات_ من libeay32.dll داخل C:\Program Files ، بما في ذلك واحد في C:\ProgramData\Anaconda3\Library\bin

لقد حاولت نقل C:\ProgramData\Anaconda3\Library\bin إلى مقدمة PATH ، لكن لا يزال هناك خطأ.

كان لي نفس القضية. كنت أقوم بتكوين جهاز كمبيوتر جديد باستخدام python و jupyter مع الأناكوندا ، وحدثت المشكلة عندما حاولت تثبيت حزمة استخدام pip.

بناءً على المناقشات أعلاه ، أن هذه مشكلة بيئية ، حاولت تشغيل أمر "تثبيت النقطة" في Anaconda Prompt بدلاً من cmd . وتم تنفيذ أمر النقطة. 😁

ما زلت أعاني من المتابعة منذ أمس ، بعد تثبيت Python 3.7.1 مع Anaconda3

يتم تكوين نقطة مع المواقع التي تتطلب TLS / SSL ، ولكن وحدة ssl في Python غير متاحة.
إعادة المحاولة (إعادة المحاولة (الإجمالي = 4 ، الاتصال = بلا ، القراءة = بلا ، إعادة التوجيه = لا شيء ، الحالة = لا شيء)) بعد انقطاع الاتصال بسبب خطأ SSLE ("لا يمكن الاتصال بعنوان HTTPS URL لأن وحدة SSL غير متاحة.") ': / simple / pip /
إعادة المحاولة (إعادة المحاولة (الإجمالي = 3 ، الاتصال = بلا ، القراءة = بلا ، إعادة التوجيه = لا شيء ، الحالة = لا شيء)) بعد انقطاع الاتصال بسبب خطأ SSLE ("لا يمكن الاتصال بعنوان HTTPS URL لأن وحدة SSL غير متاحة.") ': / simple / pip /
إعادة المحاولة (إعادة المحاولة (الإجمالي = 2 ، الاتصال = بلا ، القراءة = بلا ، إعادة التوجيه = لا شيء ، الحالة = لا شيء)) بعد انقطاع الاتصال بسبب خطأ SSLE ("لا يمكن الاتصال بعنوان HTTPS URL لأن وحدة SSL غير متاحة.") ': / simple / pip /
إعادة المحاولة (إعادة المحاولة (الإجمالي = 1 ، الاتصال = بلا ، القراءة = بلا ، إعادة التوجيه = لا شيء ، الحالة = لا شيء)) بعد انقطاع الاتصال بسبب خطأ SSLE ("لا يمكن الاتصال بعنوان HTTPS URL لأن وحدة SSL غير متاحة.") ': / simple / pip /
إعادة المحاولة (إعادة المحاولة (الإجمالي = 0 ، الاتصال = لا شيء ، القراءة = بلا ، إعادة التوجيه = لا شيء ، الحالة = لا شيء)) بعد تعطل الاتصال بواسطة 'SSLError ("لا يمكن الاتصال بعنوان HTTPS URL لأن وحدة SSL غير متاحة.") ': / simple / pip /
تعذر جلب عنوان URL https://pypi.org/simple/pip/ : كانت هناك مشكلة في تأكيد شهادة SSL: HTTPSConnectionPool (host = 'pypi.org' ، المنفذ = 443): تم تجاوز الحد الأقصى لإعادة المحاولة بعنوان url: / simple / نقطة / (ناتج عن خطأ SSLE ("لا يمكن الاتصال بعنوان HTTPS URL لأن وحدة SSL غير متوفرة.")) - تخطي
تم تحديث المتطلبات بالفعل: النقطة في د: \ anaconda3 \ lib \ site-packs (18.1)
يتم تكوين نقطة مع المواقع التي تتطلب TLS / SSL ، ولكن وحدة ssl في Python غير متاحة.
تعذر جلب عنوان URL https://pypi.org/simple/pip/ : كانت هناك مشكلة في تأكيد شهادة SSL: HTTPSConnectionPool (host = 'pypi.org' ، المنفذ = 443): تم تجاوز الحد الأقصى لإعادة المحاولة بعنوان url: / simple / نقطة / (ناتج عن خطأ SSLE ("لا يمكن الاتصال بعنوان HTTPS URL لأن وحدة SSL غير متوفرة.")) - تخطي

كان لي نفس المشكلة. باستخدام اقتراح willliu1995 حل المشكلة. تشغيل نقطة من موجه cmd لم ينجح ولكن تشغيل دفتر jupyter وتشغيل! تثبيت نقطةعمل.

إذا كان تثبيت pip pandas لا يعمل على موجه CMD ، فقم بتشغيل هذا باستخدام موجه Anaconda - إنه يعمل. يمكنك العثور على موجه Anaconda باستخدام هذا:

انتقل بالماوس إلى رمز Windows (أسفل اليسار) وابدأ في كتابة "Anaconda". يجب أن تظهر بعض الإدخالات المتطابقة. حدد "Anaconda Prompt". سيتم فتح نافذة أوامر جديدة تسمى "Anaconda Prompt". المصدر - https://stackoverflow.com/questions/47914980/how-to-access-anaconda-command-prompt-in-windows-10-64-bit

إذا كنت تفضل استخدام موجه أوامر Windows بدلاً من ذلك ، فستحتاج إلى إضافة الدلائل التالية إلى مسار بيئة Windows الخاص بك:
%Miniconda3_DIR%;%Miniconda3_DIR%\Library\mingw-w64\bin;%Miniconda3_DIR%\Library\usr\bin;%Miniconda3_DIR%\Library\bin;%Miniconda3_DIR%\Scripts;%Miniconda3_DIR%\bin;
[حيث يجب استبدال %Miniconda3_DIR% بمسار تثبيت Miniconda (أو Anaconda)]

على سبيل المثال ، لديّ Miniconda مثبتًا على E:\Portable\Miniconda3 . لذلك كان على Windows PATH أن يتضمن هذه المجلدات:
E:\Portable\Miniconda3;E:\Portable\Miniconda3\Library\mingw-w64\bin;E:\Portable\Miniconda3\Library\usr\bin;E:\Portable\Miniconda3\Library\bin;E:\Portable\Miniconda3\Scripts;E:\Portable\Miniconda3\bin;

shriprem شكرا! انها عملت. يؤكد الحل الخاص بك أن هذه مشكلة في مسار النظام ، نظرًا لأنه من الضروري بشكل عام إضافة٪ Miniconda3_DIR٪ \ Scripts إلى متغير PATH الخاص بك لاستخدام النقطة. أي فكرة لماذا تغير هذا؟

EthanBackToLife لقد راجعت متغير بيئة PATH في موجه Anaconda ، ووجدت أن Anaconda كان يسبق كل تلك الأدلة إلى متغير PATH الفوري. لذلك قمت بإلحاق جزء دلتا من هذا المسار بمتغير Windows PATH لتأكيد أنه يعمل للنقطة.

أثناء محاولة تثبيت Conda على جهاز كمبيوتر مختلف ، يمكنني تحسين تغييرات المسار إلى جهاز أقصر بكثير: %Miniconda3_DIR%;%Miniconda3_DIR%\Scripts;%Miniconda3_DIR%\Library\bin
[بعد فوات الأوان ، نرى أن الأدلة الأخرى التي تمت إضافتها إلى المسار من رسالتي السابقة غير موجودة / فارغة عند تثبيت Conda حديثًا.]

مع هذا التضييق للمسار ، يمكننا النظر إلى المجلد %Miniconda3_DIR%\Library\bin . هنا ، نجد ملفات مثل: libcrypto-1_1-x64.dll, libcrypto-1_1-x64.pdb, libssl-1_1-x64.dll, openssl.exe, libssl-1_1-x64.pdb, openssl.pdb والتي أعتقد أنها مهمة في حل مشكلات SSL / TLS مع تثبيت حزمة النقطة (و conda).

إصدار python: 3.6 (Intel Distribution for Python for Windows 2018 update 1)
إصدار virtualenv: 15.1.0
إصدار الويندوز: windows 10 pro، build 17101.rs4_release.180211-1040

لقد نفذت أمرين فقط ، وإليك ما هو إخراج Powershell:

PS E:\Python\Virtualenv\Scripts> .\activate
(Virtualenv) PS E:\Python\Virtualenv\Scripts> pip install numpy
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Collecting numpy
  Could not fetch URL https://pypi.python.org/simple/numpy/: There was a problem confirming the ssl certificate: Can't connect to HTTPS URL because the SSL module is not available. - skipping
  Could not find a version that satisfies the requirement numpy (from versions: )
No matching distribution found for numpy

هذا الدليل Python ليس مكان تثبيت Python ، إنه دليل عادي فقط.

لقد حاولت تثبيت بعض برامج opensl المستقلة ، مثل تلك الموجودة هنا ، لكن لم يعمل أي منهما.

لقد قابلت نفس السؤال الذي واجهته ، وحاولت استخدام الأمر. \ تفعيل ، ثم حسم السؤال تمامًا ، لا يمكنني أن أشكرك بعد الآن.

EthanBackToLife لقد راجعت متغير بيئة PATH في موجه Anaconda ، ووجدت أن Anaconda كان يسبق كل تلك الأدلة إلى متغير PATH الفوري. لذلك قمت بإلحاق جزء دلتا من هذا المسار بمتغير Windows PATH لتأكيد أنه يعمل للنقطة.

أثناء محاولة تثبيت Conda على جهاز كمبيوتر مختلف ، يمكنني تحسين تغييرات المسار إلى جهاز أقصر بكثير: %Miniconda3_DIR%;%Miniconda3_DIR%\Scripts;%Miniconda3_DIR%\Library\bin
[بعد فوات الأوان ، نرى أن الأدلة الأخرى التي تمت إضافتها إلى المسار من رسالتي السابقة غير موجودة / فارغة عند تثبيت Conda حديثًا.]

مع هذا التضييق للمسار ، يمكننا النظر إلى المجلد %Miniconda3_DIR%\Library\bin . هنا ، نجد ملفات مثل: libcrypto-1_1-x64.dll, libcrypto-1_1-x64.pdb, libssl-1_1-x64.dll, openssl.exe, libssl-1_1-x64.pdb, openssl.pdb والتي أعتقد أنها مهمة في حل مشكلات SSL / TLS مع تثبيت حزمة النقطة (و conda).

شرح رائع! شكرا لك.

ما زلت أواجه هذه المشكلة بعد فعل ما علق @ shriprem . بايثون الإصدار 3.7.1 والإصدار 18.1 للنقطة ، إذا كان ذلك يساعد.

"يمكنني حل هذه المشكلة عن طريق إضافة مسار dir الخاص بـ intel-python الذي يحتوي على libeay32.dll (في حالتي .. \ IntelPython3 \ pkgs \ openssl-1.0.2l-vc14_intel_0 \ Library \ bin) في بيئة النظام كأفضل موقع. "

المرجع: https://software.intel.com/en-us/forums/intel-distribution-for-python/topic/737878

لقد وجدت أن التواجد في دليل "البرامج النصية" مطلوب لاستخدام النقطة

بالنسبة لنظام التشغيل Windows 10 ، إذا كان تثبيت النقطة لا يعمل على موجه CMD ، فقم بتشغيله باستخدام موجه Anaconda - إنه يعمل.

إذا كنت تريد استخدام النقطة في CMD العادي ، ليس فقط في موجه Anaconda.
تحتاج إلى إضافة 3 مسارات بيئة.
مثل هذه:
D: \ Anaconda3 ؛
D: \ Anaconda3 \ Scripts ؛
د: \ Anaconda3 \ Library \ bin

يضيف معظم الناس فقط D: \ Anaconda3 \ Scripts ؛

حدد المسار C: \ Anaconda3 \ Library \ bin في متغيرات مستخدم البيئة.
أو
ما عليك سوى التحقق من حالة تثبيت opensl في Base python
إذا لم يكن مجرد التثبيت باستخدام الأمر التالي
نقطة تثبيت pyopenssl

أعتقد أن المسارات تمت إضافتها بشكل صحيح ، لكن النقطة لا تزال لا تعمل ، سواء على CMD أو في موجه Anaconda.

هل جربت من دليل "البرامج النصية"؟

هل جربت من دليل "البرامج النصية"؟

إذا كنت تقصد cd xxx / Scripts ثم تثبيت النقطة ، فقد حاولت الآن وهي لا تعمل.

SnarkyPapi ، أنت تقول "أعتقد أنه تمت إضافة المسارات بشكل صحيح." لتأكيد هذه الحقيقة ، قم بتشغيل الأوامر الأربعة المدرجة بالخط العريض أدناه.

  1. الأمر:> حيث بيثون
    يجب أن يكون الإخراج شيئًا مثل: _C: \ Miniconda3-x64 \ python.exe_

  2. الأمر:> أين النقطة
    يجب أن يكون الإخراج شيئًا مثل: _C: \ Miniconda3-x64 \ Scriptspip.exe_

  3. الأمر:> حيث openssl
    يجب أن يكون الإخراج شيئًا مثل:
    [لاحظ أنه من الممكن أن يتم تثبيت openssl.exe في مواقع متعددة من مسار البيئة. في حالتي ، تم تثبيت openssl أيضًا كجزء من تثبيت Perl]
    _C: \ Perl \ c \ bin \ openssl.exe
    C: \ Miniconda3-x64 \ Library \ bin \ openssl.exe_

  4. الأمر:> حيث libssl-1_1-x64.dll
    يجب أن يكون الإخراج شيئًا مثل: _C: \ Miniconda3-x64 \ Library \ bin \ libssl-1_1-x64.dll_

لأي من هذه ، إذا حصلت على ناتج يقول "INFO: تعذر العثور على ملفات للنمط (الأنماط) المحدد." ، فإن أحد مكونات المسار المطلوبة للنقطة مفقود لبيئتك.

مرحبًا ، عملت الأوامر الأربعة بشكل جيد ، وللأمر الرابع يظهر سطرين:
C: \ Windows \ System32 \ libssl-1_1-x64.dll
C: \ Anaconda \ Library \ bin \ libssl-1_1-x64.dll

يبدو أنك قد ترغب في وضع "C: \ Anaconda \ Library \ bin" في بداية $ PATH

يبدو أنك قد ترغب في وضع "C: \ Anaconda \ Library \ bin" في بداية $ PATH
لقد جربته للتو وما زالت المشكلة قائمة.

هل يمكنك echo %PATH%

ربما تكون قد فتحت محطة طرفية جديدة لتغيير المسار

الحل البديل: لقد تمكنت للتو من جعله يعمل عن طريق إنشاء ملف pip.ini ضمن C: \ Users \ my_user_namepip ، كتابة:

[عالمي]
index-url = http://pypi.douban.com/simple/
[تثبيت]
Trusted-host = pypi.douban.com

إنه يحل المشكلة في الوقت الحالي ، لكن سرعة التنزيل باستخدام هذه المرآة ليست سريعة حقًا (حوالي 800 كيلو بايت / ثانية). هل هناك طريقة لجعلها تعمل كالمعتاد؟

هل يمكنك echo %PATH%

ربما تكون قد فتحت محطة طرفية جديدة لتغيير المسار

C: \ Anaconda \ Library \ bin؛ D: \ Software \ NVIDIA GPU Computing Toolkit \ CUDA \ v10.0 \ bin؛ D: \ Software \ NVIDIA GPU Computing Toolkit \ CUDA \ v10.0 \ libnvvp؛ C: \ Program Files (x86) \ Common Files \ Oracle \ Java \ javapath؛ C: \ Program Files (x86) \ Razer Chroma SDK \ bin؛ D: \ Software \ Razer Chroma SDK \ bin؛ C: \ windows \ system32؛ C: \ windows ؛ C: \ windows \ System32 \ Wbem؛ C: \ windows \ System32 \ WindowsPowerShell \ v1.0 \؛ C: \ windows \ System32 \ OpenSSH \؛ C: \ Program Files (x86) \ NVIDIA Corporation \ PhysX \ Common؛ D: \ Software \ PuTTY \؛ C: \ windows \ system32 \ config \ systemprofile \ AppData \ Local \ Microsoft \ WindowsApps؛ D: \ Software \ dotnet \؛ D: \ Software \ MySQL \ MySQL Utilities 1.6 \؛ C: \ ملفات البرامج \ Intel \ WiFi \ bin \؛ C: \ Program Files \ Common Files \ Intel \ WirelessCommon \؛ D: \ Software \ Git \ cmd؛ C: \ Users \ Cyrilpippip.ini؛ C: \ Anaconda؛ C: \ Anaconda \ Library \ mingw-w64 \ bin؛ C: \ Anaconda \ Library \ usr \ bin؛ C: \ Anaconda \ Scripts؛ C: \ Anaconda \ bin؛ C: \ Anaconda \ Library \ bin؛ C: \ Anaconda؛ C : \ Anaconda \ Library \ mingw-w64 \ bin؛ C: \ Anaconda \ Library \ usr \ bin؛ C: \ Anaconda \ Scripts؛ C: \ Anaconda \ bin؛ D: \ Software \ D مربع أدوات ocker ؛ C: \ Users \ Cyrilpippip.ini ؛

مكتبات SSL موجودة في مجلد C: \ anaconda \ Library \ bin . يجب عليك تعيين هذا المسار في لحظة محاولة تثبيت مكتباتك . هذا لأنه عند تنشيط بيئة افتراضية ، يتغير المسار.

وبالتالي،

  • إذا كنت لا تستخدم البيئات الافتراضية ، فاضبط المسار يدويًا على:
set PATH=C:\anaconda;C:\anaconda\Scripts;C:\anaconda\Library\bin
pip  install any_library
or
pip install -r requirements.txt

  • إذا كنت تستخدم البيئات الافتراضية ، فاضبط المسار يدويًا على:
set PATH=C:\venvs\ve1\;C:\venvs\ve1\Scripts;C:\anaconda\Library\bin
pip  install any_library
or
pip install -r requirements.txt

لاحظ أن C: \ anaconda \ Library \ bin متسقة في كلتا الحالتين ، بغض النظر عما إذا كنت تعمل في جهاز افتراضي أم لا.

datatravelgit مرحبًا ، أنا لا أستخدم البيئات الافتراضية ولا تزال هناك هذه المشكلة بعد تعيين المسار يدويًا.

شكرا للتعليقات المفيدة أعلاه! إضافة ما يلي إلى متغير المسار الذي نجح معي في نظام التشغيل Windows 10:
ج: \ المستخدمين ... \ Anaconda3
ج: \ المستخدمين ... \ Anaconda3 \ Scripts
ج: \ المستخدمون ... \ Anaconda3 \ Library \ bin

حصلت على نفس المشكلة مثل @ liurui39660 ، باستخدام Intel Python Distribution _and_ python -m venv لإنشاء venv الخاص بي. يبدو أنها مشكلة في الوحدة النمطية ssl ، ولا علاقة لها بـ pip :

(venv) C:\Users\ceefour\git\tews\ecn-svc>python
Python 3.6.3 |Anaconda custom (64-bit)| (default, May  3 2018, 23:39:44) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Intel(R) Distribution for Python is brought to you by Intel Corporation.
Please check out: https://software.intel.com/en-us/python-distribution
>>> import ssl
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\ProgramData\Anaconda3\lib\ssl.py", line 101, in <module>
    import _ssl             # if we can't import it, let the error propagate
ImportError: DLL load failed: The operating system cannot run %1.
>>>

لاحظ أن الخطأ يظهر فقط عند استخدام Intel Python داخل ملف venv. عند استخدام البيئة الأساسية ، تعمل:

(base) C:\Users\ceefour>python
Python 3.6.3 |Anaconda custom (64-bit)| (default, May  3 2018, 23:39:44) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
Intel(R) Distribution for Python is brought to you by Intel Corporation.
Please check out: https://software.intel.com/en-us/python-distribution
>>> import ssl
>>> 

تحديث: يبدو أن هذا الخيط دليل:

روهيت ج. (إنتل) الخميس، 07/06/2017 - 21:40
كانت النقطة غير قابلة للاستخدام مع كل من IDP و Miniconda على Windows. كانت المشكلة ناتجة عن جذر مكتبة متعارضة (libeay32.dll) تم تثبيتها في مسار النظام. في وقت التشغيل ، اكتسب تحميل هذه المكتبة الأسبقية على ما نشحنه مع توزيعنا. كان هناك تعارض في الإصدار وقد يفشل التنفيذ مع "خطأ استيراد: فشل تحميل DLL: لا يمكن لنظام التشغيل تشغيل٪ 1.". أدت إزالة هذه المكتبة الدخيلة من مسار النظام إلى حل المشكلة.

لدي _ كميات_ من libeay32.dll داخل C:\Program Files ، بما في ذلك واحد في C:\ProgramData\Anaconda3\Library\bin

لقد حاولت نقل C:\ProgramData\Anaconda3\Library\bin إلى مقدمة PATH ، لكن لا يزال هناك خطأ.
------------- 更新 20190327
刚 qq 来 了 个 邮件 , 点 进来 才 发现 是 这个 问题 , 这个 后来 了。 我 在 电脑 上 重新 安装 了 Win64OpenSSL_Light-1_1_1b.exe , 然后 أناكوندا 卸载 并 重装。 现在 أناكوندا 正常 بيثون 都

------------- 以下 为 旧 内容 谢谢 , 我 昨天 也 遇到 了 相同 的 问题 然后 我 把 أناكوندا 卸载 后 重装 了 , 但 并 没有 解决。 刚才 我 从 单独 的 目录 中执行 استيراد ssl , anaconda 中 的 报错 , 另外 一个 不 报错。 如图 :
GitHub Logo
我 把 pycharm 中 的 路径 修改 后 , pycharm 也 可以 正常 运行 了。

اضطررت إلى استبدال libssl-1_1-x64.dll في مجلد envs / myenv / Library / bin الخاص بي بالملف الأساسي env dll. لم يكن نفس الشيء. بالإضافة إلى ذلك ، كان لدي libssl-1_1-x64.dll آخر ضمن C: / Windows / System32 / وتحت مجلدات Intel معينة في C: / Program Files. أزلت عناصر Intel من المسار وحذفت العنصر الموجود ضمن system32.

لست متأكدًا من وقت نسخ ملف dll التالف ، ولكن استبداله بآخر من conda / Library / bin / يعمل جيدًا.

لمزيد من التحقق من الأخطاء ، يمكنك تنشيط بيئتك واكتب python -c "import ssl" . إنه فرق مهم ، إذا كان الخطأ "الوحدة غير موجودة" (-> لا يمكن العثور على dll على الإطلاق ، فقد تكون مشكلة في المسار) أو "لم يتم العثور على نقطة إدخال الإجراء" (-> على الأرجح ، تم العثور على dll تالف / خاطئ ).

اضطررت إلى استبدال libssl-1_1-x64.dll في مجلد envs / myenv / Library / bin الخاص بي بالملف الأساسي env dll. لم يكن نفس الشيء. بالإضافة إلى ذلك ، كان لدي libssl-1_1-x64.dll آخر ضمن C: / Windows / System32 / وتحت مجلدات Intel معينة في C: / Program Files. أزلت عناصر Intel من المسار وحذفت العنصر الموجود ضمن system32.

لست متأكدًا من وقت نسخ ملف dll التالف ، ولكن استبداله بآخر من conda / Library / bin / يعمل جيدًا.

لمزيد من التحقق من الأخطاء ، يمكنك تنشيط بيئتك واكتب python -c "import ssl" . إنه اختلاف مهم ، إذا كان الخطأ "الوحدة غير موجودة" (-> لا يمكن العثور على dll على الإطلاق ، فقد تكون مشكلة في المسار) أو "لم يتم العثور على نقطة إدخال الإجراء" (-> على الأرجح ، تم العثور على dll تالف / خاطئ ).

أواجه نفس المشكلة - "تعذر العثور على الإجراء المحدد." - فقط في بيئة محددة.
في قاعدة env "استيراد ssl" يعمل بشكل جيد.

حاولت استبدال env's libssl-1_1-x64.dll بـ ENV libssl-1_1-x64.dll - لكن لم يساعد.
هل يمكن أن يكون هناك أي ملف آخر يسبب هذا؟

ثابت بالنسبة لي ، شكرا لتعليقات الجميع.
لم يتم إصلاح المشكلة عن طريق الإضافة\ Anaconda3 \ Library \ bin إلى المسار ، أو حتى أعلى المسار. وينطبق الشيء نفسه على \ Anaconda3 \ Scripts and \ Anaconda3 \ Library \ mingw-w64 \ bin.

حاولت استبدال env's libssl-1_1-x64.dll بـ ENV libssl-1_1-x64.dll - لكن لم يساعد.
هل يمكن أن يكون هناك أي ملف آخر يسبب هذا؟

أدت إزالة كل من libssl-1_1-x64.dll و libcrypto -1_1-x64.dll في C: / Windows / System32 / إلى إصلاح المشكلة بالنسبة لي.

أنا أحبك الصديق!
أدت إزالة كل من libssl-1_1-x64.dll و libcrypto-1_1-x64.dll في C: / Windows / System32 / إلى إصلاح المشكلة بالنسبة لي.

قم بتثبيت Win64OpenSSL_Light-1_1_1b.exe https://slproweb.com/download/Win64OpenSSL_Light-1_1_1b.exe ، ثم تعمل النقطة بشكل جيد.

جرب استخدام:

pip3 install <package>

يمكن حل هذه المشكلة عن طريق تغيير المسار من خلال هذا الكمبيوتر
انتقل إلى العقارات
ثم انتقل إلى الإعدادات المتقدمة
ثم متغيرات البيئة
ثم متغيرات النظام
ثم المسار
انقر نقرًا مزدوجًا فوق المسار
تحقق من مسار بيثون المثبت
إذا كان لديك أناكوندا
ثم احذف كلا المسارين و
ثم انقر فوق جديد
ثم انسخ مسار python 3.7 أو أحدث نصوص python til ie
(C: \ Users \ 'user name' \ AppData \ Local \ ProgramsPythonPython37 \ scripts)
ثم انقر فوق موافق
بعد ذلك ، انقر أيضًا فوق جديد
ثم انسخ المسار C: \ Users \ 'user name' \ AppData \ Local \ ProgramsPythonPython37
ثم أعد تشغيل cmd كمسؤول وأعد محاولة التثبيت

شيء مضحك: لقد واجهت نفس المشكلة على Android ، Termux. تعذر على Pip الاتصال بـ pypi.org بسبب غياب SSL.
المشكلة بوضوح مع وحدة SSL. لذا ، تحقق مبدئيًا ، إذا كان لديك أي SSL مثبتًا. إذا كانت الإجابة بنعم ، فقم بترقيتها إلى أحدث الإصدارات ، حيث تتطور خوارزميات SSL بسرعة ، وتصبح غير متوافقة.
حاول إما تحديث المكتبة الموجودة ، أو تثبيت حزمة مدعومة بشكل أفضل.

بالنسبة لمستخدمي Anaconda / Miniconda على نظام Windows ، فهذه مشكلة تتعلق بتحميل مكتبة. توجد معلومات في الأسئلة الشائعة حول استكشاف الأخطاء وإصلاحها على https://conda.io/projects/conda/en/latest/user-guide/troubleshooting.html#condahttperror -http-000-connection-فشل

كما لاحظ بعض المستخدمين ، يمكن أن تكون عمليات التثبيت الأخرى لـ opensl في مجلد Windows \ System32 مزعجة بشكل استثنائي. توجد معلومات حول حل بديل في بيثون Anaconda (و conda-forge's) في قسم استكشاف الأخطاء وإصلاحها ذي الصلة: https://conda.io/projects/conda/en/latest/user-guide/troubleshooting.html#numpy -mkl-library- فشل التحميل

يمكنك الإبلاغ عن مشكلات الأناكوندا على https://github.com/continuumio/anaconda-issues

لقد تكررت مشكلة SSL مع عمليات تثبيت وحدة النقطة. قبل ذلك ، كانت النقطة تعمل بشكل جيد لعدة أشهر - بعد تكوين مسار البيئة بشكل صحيح لتضمين مجلدات conda الثلاثة: %Conda_DIR%;%Conda_DIR%\Scripts;%Conda_DIR%\Library\bin .

بعد بضع ساعات من الجدل ، توصلت إلى هذين الحلين - أحدهما لتركيب الوحدة عبر نقطة ، والآخر لأولئك عبر conda .

يتم تثبيت الوحدة عبر النقطة

في الأساس ، بناءً على رسائل الخطأ ، اضطررت إلى إضافة مواقع pypi.org و files.pythonhosted.org كمضيفين موثوقين.

يمكنك القيام بذلك مرة واحدة عبر: pip config set global.trusted_host "pypi.org files.pythonhosted.org"
تم حفظ هذا التغيير في الإعداد في C:\Users\user_name\Appdata\Roaming\pip\pip.ini (باختصار ، %APPDATA%\pip\pip.ini ) ملف. نظرًا لأن هذا موجود في مجلد مستخدم غير مسؤول من منظور Windows ، فيجب أن يكون القيام بذلك آمنًا.

[إذا لم تكن مرتاحًا لتغيير الإعداد "العام" ، فيمكنك تكرار ذلك أثناء تثبيت كل وحدة.
على سبيل المثال: pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org -U matplotlib ]

يتم تثبيت الوحدة عبر Conda

لا يتم تثبيت بعض وحدات Python النمطية مثل خريطة الأساس عبر نقطة. كان علي استخدام Conda بدلاً من ذلك.
لتجاوز خطأ SSL مع conda ، كان علي استخدام: conda config --set ssl_verify false

[بعد تثبيت وحدة conda ، أعدت تشغيل ssl باستخدام: conda config --set ssl_verify true ]

أثناء حل هذه المشكلات اليوم ، المعلومات العامة الموجودة على https://conda.io/projects/conda/en/latest/user-guide/troubleshooting.html#ssl -connection-errors ومعلومات المواقع المحددة من خطأ وقت التثبيت الرسائل - أثبت كلاهما أنه مفيد.

مرحبًا عندما أكون في موجه أناكوندا غير قادر على استخدام النقطة بسبب مشاكل TSL / SSL:

(base) C:\Users\joshu>pip install pandahouse
WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

لكنني قادر على تثبيت أي شيء أريده عند استخدام لغة بيثون الأصلية:

C:\Users\joshu\AppData\Local\Programs\Python\Python37\Scripts>pip install scrapy
Collecting scrapy
  Downloading http....

ما فعلته حتى الآن:

  1. تم تثبيت Python أولاً
  2. تثبيت اناكوندا
  3. إعادة تثبيت الأناكوندا
  4. تمت إزالة libcrypto-1_1-x64.dll و libssl-1_1-x64.dll من System32 /
  5. تمت إضافة مكتبات Anaconda الخاصة بي إلى النظام العلوي ومتغيرات المستخدم الخاصة بـ PATH
    C:\Users\joshu\Anaconda3\Library\bin
  6. لا يزال لا يعمل

مواقع موجه CMD في لغة Python الأصلية:

C:\Users\joshu\AppData\Local\Programs\Python\Python37\Scripts>where libssl-1_1-x64.dll
C:\Users\joshu\Anaconda3\Library\bin\libssl-1_1-x64.dll

C:\Users\joshu\AppData\Local\Programs\Python\Python37\Scripts>where libcrypto-1_1-x64.dll
C:\Users\joshu\Anaconda3\Library\bin\libcrypto-1_1-x64.dll

مواقع Anaconda السريعة:

(base) C:\Users\joshu>where libssl-1_1-x64.dll
C:\Users\joshu\Anaconda3\Library\bin\libssl-1_1-x64.dll

(base) C:\Users\joshu>where libcrypto-1_1-x64.dll
C:\Users\joshu\Anaconda3\Library\bin\libcrypto-1_1-x64.dll

لست متأكدًا مما إذا كان هذا مهمًا ولكن OPENSSL_CONF C: \ OpenSSL-Win64 \ bin \ openssl.cfg يظهر فوق PATH في متغيرات نظامي.

هل يمكن لشخص أن يساعدني ، فأنا لست متأكدًا من كيفية حل هذا ، وأفضل حقًا استخدام Anaconda / Spyder بدلاً من الثعبان الأصلي

jmhcodes ، تحقق من هذا الرابط: https://stackoverflow.com/questions/41328451/ssl-module-in-python-is-not-available-when-installing-package-with-pip3

أيضًا في سير التخزين المؤقت ، صادفت مناقشة أخرى كانت أكثر صلة بالتكرار المفاجئ لشهادة SSL للتحقق من الخطأ الذي بدأت في مواجهته على جهاز الكمبيوتر الخاص بالعمل. رابط المناقشة هو: https://stackoverflow.com/questions/25981703/pip-install-fails-with-connection-error-ssl-certificate-verify-failed-certi

في إثنين من هذه الإجابات ، كانت هناك هذه العبارات:

في حالتي ، كانت الشهادات في شبكة شركتي هي المشكلة.

و

لقد واجهت هذه المشكلة مؤخرًا بسبب عامل تصفية محتوى الويب الخاص بشركتي والذي يستخدم المرجع المصدق الخاص به بحيث يمكنه تصفية حركة مرور SSL.

لذا في حالتي ، كان جدار حماية شبكة الشركة هو الذي كسر نقطتي. لكن إضافة files.pythonhosted.org & ** pypi.org كمضيفين موثوقين قد أدى إلى حل المشكلة في الوقت الحالي.

بصراحة ، لم أشاهد مناقشة stackoverflow الثانية عندما قمت بحل المشكلة الأسبوع الماضي ، ونشرت خطوات الحل الخاصة بي هنا. توافق غالبية الردود في مقالة stackoverflow على أن استخدام --trusted-host حل مشاكل النقطة أيضًا. بالإضافة إلى الموقعين المذكورين أعلاه ، يوصون أيضًا بإضافة pypi.python.org

تضمين التغريدة

jmhcodes ، تحقق من هذا الرابط: https://stackoverflow.com/questions/41328451/ssl-module-in-python-is-not-available-when-installing-package-with-pip3

أيضًا في سير التخزين المؤقت ، صادفت مناقشة أخرى كانت أكثر صلة بالتكرار المفاجئ لشهادة SSL للتحقق من الخطأ الذي بدأت في مواجهته على جهاز الكمبيوتر الخاص بالعمل. رابط المناقشة هو: https://stackoverflow.com/questions/25981703/pip-install-fails-with-connection-error-ssl-certificate-verify-failed-certi

لقد رأيت هاتين المنشورتين أيضًا ويمكنني إضافتهما كمضيف عالمي موثوق به والابتعاد ، لكنني لست مرتاحًا بما يكفي للقيام بذلك.

ما أهدف إلى الإجابة عليه حقًا هو سبب عمل pip بدون مشكلات SSL / TSL داخل حزمة python الأصلية في سطر cmd ولكن لا يعمل في موجه anaconda على الرغم من opensl / libssl-1_1-x64.dll / libcrypto-1_1-x64 دلل كلها تشير إلى نفس الموقع.

jmhcodes ، قم بتشغيل الأمر where pip.exe داخل كل من موجه الأوامر العادي وموجه Anaconda. هل كلاهما يعيدان نفس المسار إلى pip.exe؟

فيما يلي بعض الاختلافات التي يجلبها موجه Anaconda إلى بيئته عبر موجه الأوامر العادي:

  1. تبدأ Anaconda بادئة 7 من أدلةها الفرعية في مقدمة مسار البيئة المعتاد. يمكنك التحقق من ذلك عن طريق تشغيل الأمر echo %path% من داخل كلتا البيئتين والتفرقة بينهما. هذه الدلائل السبعة هي:
    %CONDA_DIR%; %CONDA_DIR%\Library\mingw-w64\bin; %CONDA_DIR%\Library\usr\bin; %CONDA_DIR%\Library\bin; %CONDA_DIR%\Scripts; %CONDA_DIR%\bin; %CONDA_DIR%\condabin;

_ ملاحظة : يجب استبدال٪ CONDA_DIR٪ بمسار تثبيت Anaconda.

  1. تحدد الأناكوندا أيضًا هذه المتغيرات البيئية الجديدة:
    CONDA_DEFAULT_ENV, CONDA_EXE, CONDA_PREFIX, CONDA_PROMPT_MODIFIER, CONDA_PYTHON_EXE, CONDA_SHLVL, PYTHONIOENCODING, PROJ_LIB, _CONDA_SET_PROJ_LIB
    يمكنك التحقق من ذلك عن طريق تشغيل الأمر set من كلتا البيئتين ومختلفهما.

قد تسبب هذه الاختلافات بين البيئتين أي مشاكل تواجهك. الأمر متروك لك لمزيد من الحفر.

ولكن إذا كان pip.exe يشير إلى نفس الملف الثنائي من كلتا البيئتين ، فلا يجب أن تقلق كثيرًا بشأن البيئة التي تستخدمها لتشغيل النقطة. أيضًا ، لن أكون قلقًا جدًا بشأن إضافة مواقع python.org pip المعروفة جيدًا كمضيفين موثوق بهم. هكذا كان كثيرون في Stackoverflow. هذا هو سنتي.

أخيرًا ، ذكرت:

لست متأكدًا مما إذا كان هذا مهمًا ولكن OPENSSL_CONF C: \ OpenSSL-Win64 \ bin \ openssl.cfg يظهر فوق PATH في متغيرات نظامي.

ذلك لأن متغير النظام OPENSSL_CONF يأتي قبل PATH عند إدراجه بالترتيب الأبجدي. لذلك لا يهم المشكلة التي تواجهها. أم أنني أساءت تفسير ما كنت تقوله؟

اناكوندا برومت
pip 19.1.1 from C:\ProgramData\Anaconda3\lib\site-packages\pip (python 3.7)

موجه Cmd
C:\Users\joshu\AppData\Local\Programs\Python\Python37\Scripts\pip.exe

ولكن لا يمكنني حتى فتح spyder / anaconda nav أو أي شيء آخر متعلق بجناح الأناكوندا بخلاف موجه الأناكوندا:

(base) C:\Users\joshu>spyder.exe
Traceback (most recent call last):
  File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\utils\external\github.py", line 51, in <module>
    from urllib2 import build_opener, HTTPSHandler, Request, HTTPError
ModuleNotFoundError: No module named 'urllib2'

أثناء معالجة الاستثناء أعلاه ، حدث استثناء آخر:

Traceback (most recent call last):
  File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\app\mainwindow.py", line 3285, in main
    mainwindow = run_spyder(app, options, args)
  File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\app\mainwindow.py", line 3140, in run_spyder
    main.setup()
  File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\app\mainwindow.py", line 809, in setup
    from spyder.plugins.console import Console
  File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\plugins\console.py", line 37, in <module>
    from spyder.widgets.reporterror import SpyderErrorDialog
  File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\widgets\reporterror.py", line 26, in <module>
    from spyder.widgets.github.backend import GithubBackend
  File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\widgets\github\backend.py", line 33, in <module>
    from spyder.utils.external import github
  File "C:\ProgramData\Anaconda3\lib\site-packages\spyder\utils\external\github.py", line 58, in <module>
    from urllib.request import build_opener, HTTPSHandler, HTTPError, Request
ImportError: cannot import name 'HTTPSHandler' from 'urllib.request' (C:\ProgramData\Anaconda3\lib\urllib\request.py)

أنا أعمل مع Visual studio Code وواجهت نفس المشكلة لأنها لم تكن بيئة افتراضية افتراضية نشطة قمت بتنفيذها

imagen

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات