Pipenv: AttributeError: الكائن "NoneType" ليس له سمة "version_sort"

تم إنشاؤها على ٣٠ مايو ٢٠٢٠  ·  16تعليقات  ·  مصدر: pypa/pipenv

وصف المشكلة

تشغيل تثبيت pipenv - فشل الإسهاب.

نتيجة متوقعة

من المتوقع أن يتم إعداد بيئة افتراضية ، وإنشاء ملف أنابيب ، وعدم ظهور أخطاء.

نتيجة فعلية


Traceback (most recent call last):
  File "c:\python38\lib\runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "c:\python38\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "C:\Python38\Scripts\pipenv.exe\__main__.py", line 7, in <module>
  File "C:\Python38\Lib\site-packages\pipenv\vendor\click\core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "C:\Python38\Lib\site-packages\pipenv\vendor\click\core.py", line 782, in main
    rv = self.invoke(ctx)
  File "C:\Python38\Lib\site-packages\pipenv\vendor\click\core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "C:\Python38\Lib\site-packages\pipenv\vendor\click\core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Python38\Lib\site-packages\pipenv\vendor\click\core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "C:\Python38\Lib\site-packages\pipenv\vendor\click\decorators.py", line 73, in new_func
    return ctx.invoke(f, obj, *args, **kwargs)
  File "C:\Python38\Lib\site-packages\pipenv\vendor\click\core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "C:\Python38\Lib\site-packages\pipenv\vendor\click\decorators.py", line 21, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "c:\python38\lib\site-packages\pipenv\cli\command.py", line 231, in install
    retcode = do_install(
  File "c:\python38\lib\site-packages\pipenv\core.py", line 1924, in do_install
    ensure_project(
  File "c:\python38\lib\site-packages\pipenv\core.py", line 581, in ensure_project
    ensure_virtualenv(
  File "c:\python38\lib\site-packages\pipenv\core.py", line 495, in ensure_virtualenv
    python = ensure_python(three=three, python=python)
  File "c:\python38\lib\site-packages\pipenv\core.py", line 385, in ensure_python
    path_to_python = find_a_system_python(python)
  File "c:\python38\lib\site-packages\pipenv\core.py", line 347, in find_a_system_python
    return next(iter(finder.find_all_python_versions()), None)
  File "c:\python38\lib\site-packages\pipenv\vendor\pythonfinder\pythonfinder.py", line 328, in find_all_python_versions
    path_list = sorted(versions, key=version_sort, reverse=True)
AttributeError: 'NoneType' object has no attribute 'version_sort'

خطوات التكرار

قدم خطوات النسخ المتماثل (والتي عادةً ما تتضمن على الأقل الأوامر وملف Pipfile).

pipenv install --verbose على جهاز win10.

pipenv دولار - الدعم

إصدار Pipenv: '2020.5.28'

موقع Pipenv: 'c:\\python38\\lib\\site-packages\\pipenv'

موقع بايثون: 'c:\\python38\\python.exe'

تم العثور على تثبيتات Python:

Traceback (most recent call last):
  File "c:\python38\lib\runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "c:\python38\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "C:\Python38\Scripts\pipenv.exe\__main__.py", line 7, in <module>
  File "C:\Python38\Lib\site-packages\pipenv\vendor\click\core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "C:\Python38\Lib\site-packages\pipenv\vendor\click\core.py", line 782, in main
    rv = self.invoke(ctx)
  File "C:\Python38\Lib\site-packages\pipenv\vendor\click\core.py", line 1236, in invoke
    return Command.invoke(self, ctx)
  File "C:\Python38\Lib\site-packages\pipenv\vendor\click\core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Python38\Lib\site-packages\pipenv\vendor\click\core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "C:\Python38\Lib\site-packages\pipenv\vendor\click\decorators.py", line 73, in new_func    
    return ctx.invoke(f, obj, *args, **kwargs)
  File "C:\Python38\Lib\site-packages\pipenv\vendor\click\core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "C:\Python38\Lib\site-packages\pipenv\vendor\click\decorators.py", line 21, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "c:\python38\lib\site-packages\pipenv\cli\command.py", line 138, in cli
    get_pipenv_diagnostics()
  File "c:\python38\lib\site-packages\pipenv\help.py", line 33, in get_pipenv_diagnostics
    python_paths = finder.find_all_python_versions()
  File "c:\python38\lib\site-packages\pipenv\vendor\pythonfinder\pythonfinder.py", line 328, in find_all_python_versions
    path_list = sorted(versions, key=version_sort, reverse=True)
AttributeError: 'NoneType' object has no attribute 'version_sort'
Type Vendored Dependencies

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

لا تزال هذه المشكلة قائمة في نظام التشغيل Win10 مع Python 3.8.3 و pipenv 2020.6.2

DVCL643<strong i="6">@10NB03610</strong>:~/workspace/python/mailswitch_security$ pipenv shell
Traceback (most recent call last):
  File "c:\users\dvcl643\appdata\local\programs\python\python38\lib\runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "c:\users\dvcl643\appdata\local\programs\python\python38\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "C:\Users\dvcl643\AppData\Local\Programs\Python\Python38\Scripts\pipenv.exe\__main__.py", line 9, in <module>
  File "C:\Users\dvcl643\AppData\Local\Programs\Python\Python38\Lib\site-packages\pipenv\vendor\click\core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "C:\Users\dvcl643\AppData\Local\Programs\Python\Python38\Lib\site-packages\pipenv\vendor\click\core.py", line 782, in main
    rv = self.invoke(ctx)
  File "C:\Users\dvcl643\AppData\Local\Programs\Python\Python38\Lib\site-packages\pipenv\vendor\click\core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "C:\Users\dvcl643\AppData\Local\Programs\Python\Python38\Lib\site-packages\pipenv\vendor\click\core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Users\dvcl643\AppData\Local\Programs\Python\Python38\Lib\site-packages\pipenv\vendor\click\core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "C:\Users\dvcl643\AppData\Local\Programs\Python\Python38\Lib\site-packages\pipenv\vendor\click\decorators.py", line 73, in new_func
    return ctx.invoke(f, obj, *args, **kwargs)
  File "C:\Users\dvcl643\AppData\Local\Programs\Python\Python38\Lib\site-packages\pipenv\vendor\click\core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "c:\users\dvcl643\appdata\local\programs\python\python38\lib\site-packages\pipenv\cli\command.py", line 428, in shell
    do_shell(
  File "c:\users\dvcl643\appdata\local\programs\python\python38\lib\site-packages\pipenv\core.py", line 2363, in do_shell
    ensure_project(
  File "c:\users\dvcl643\appdata\local\programs\python\python38\lib\site-packages\pipenv\core.py", line 576, in ensure_project
    ensure_virtualenv(
  File "c:\users\dvcl643\appdata\local\programs\python\python38\lib\site-packages\pipenv\core.py", line 498, in ensure_virtualenv
    python = ensure_python(three=three, python=python)
  File "c:\users\dvcl643\appdata\local\programs\python\python38\lib\site-packages\pipenv\core.py", line 388, in ensure_python
    path_to_python = find_a_system_python(python)
  File "c:\users\dvcl643\appdata\local\programs\python\python38\lib\site-packages\pipenv\core.py", line 350, in find_a_system_python
    return next(iter(finder.find_all_python_versions()), None)
  File "c:\users\dvcl643\appdata\local\programs\python\python38\lib\site-packages\pipenv\vendor\pythonfinder\pythonfinder.py", line 328, in find_all_python_ve
rsions
    path_list = sorted(versions, key=version_sort, reverse=True)
AttributeError: 'NoneType' object has no attribute 'version_sort'

لقد حللت هذا بالعودة إلى

pip install pipenv==2018.11.26

ال 16 كومينتر

أنا أتلقى نفس الخطأ. نتطلع إلى شخص أكثر ذكاء لإيجاد حل

لقد وجدت حلاً ، لكنني لست جيدًا بما يكفي مع أجهزة الكمبيوتر / Python / البيئات الافتراضية لمعرفة سبب نجاحها.
من الصالة:

  1. قم بتنزيل Virtualenv (إذا لم يكن تثبيت pipenv الخاص بك بالفعل)
  2. قم بإنشاء بيئة افتراضية في Virtualenv -> ابحث عبر الإنترنت عن الإرشادات
  3. بمجرد دخولك إلى virtualenv ، انتقل إلى المجلد الذي تريد ملف pipfile الخاص بك
  4. تثبيت pipenv [python_package]
  5. يجب إنشاء ملف الأنابيب وقفل الملفات. ثم اخرج من البيئة الافتراضية
  6. انتقل إلى المجلد الخاص بمشروعك باستخدام ملفات pipenv
  7. نوع قذيفة pipenv. يجب أن يؤدي هذا إلى إنشاء بيئة افتراضية داخل بنية pipenv.

لدي نفس الخطأ ، أي شيء لحلها؟
على الرغم من أن تثبيت pipenv في Virtaulenv الذي تم إنشاؤه يعمل بدون مشاكل مثل jasoncammarata المذكورة.
لماذا هذا؟

لا تزال هذه المشكلة قائمة في نظام التشغيل Win10 مع Python 3.8.3 و pipenv 2020.6.2

DVCL643<strong i="6">@10NB03610</strong>:~/workspace/python/mailswitch_security$ pipenv shell
Traceback (most recent call last):
  File "c:\users\dvcl643\appdata\local\programs\python\python38\lib\runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "c:\users\dvcl643\appdata\local\programs\python\python38\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "C:\Users\dvcl643\AppData\Local\Programs\Python\Python38\Scripts\pipenv.exe\__main__.py", line 9, in <module>
  File "C:\Users\dvcl643\AppData\Local\Programs\Python\Python38\Lib\site-packages\pipenv\vendor\click\core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "C:\Users\dvcl643\AppData\Local\Programs\Python\Python38\Lib\site-packages\pipenv\vendor\click\core.py", line 782, in main
    rv = self.invoke(ctx)
  File "C:\Users\dvcl643\AppData\Local\Programs\Python\Python38\Lib\site-packages\pipenv\vendor\click\core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "C:\Users\dvcl643\AppData\Local\Programs\Python\Python38\Lib\site-packages\pipenv\vendor\click\core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Users\dvcl643\AppData\Local\Programs\Python\Python38\Lib\site-packages\pipenv\vendor\click\core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "C:\Users\dvcl643\AppData\Local\Programs\Python\Python38\Lib\site-packages\pipenv\vendor\click\decorators.py", line 73, in new_func
    return ctx.invoke(f, obj, *args, **kwargs)
  File "C:\Users\dvcl643\AppData\Local\Programs\Python\Python38\Lib\site-packages\pipenv\vendor\click\core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "c:\users\dvcl643\appdata\local\programs\python\python38\lib\site-packages\pipenv\cli\command.py", line 428, in shell
    do_shell(
  File "c:\users\dvcl643\appdata\local\programs\python\python38\lib\site-packages\pipenv\core.py", line 2363, in do_shell
    ensure_project(
  File "c:\users\dvcl643\appdata\local\programs\python\python38\lib\site-packages\pipenv\core.py", line 576, in ensure_project
    ensure_virtualenv(
  File "c:\users\dvcl643\appdata\local\programs\python\python38\lib\site-packages\pipenv\core.py", line 498, in ensure_virtualenv
    python = ensure_python(three=three, python=python)
  File "c:\users\dvcl643\appdata\local\programs\python\python38\lib\site-packages\pipenv\core.py", line 388, in ensure_python
    path_to_python = find_a_system_python(python)
  File "c:\users\dvcl643\appdata\local\programs\python\python38\lib\site-packages\pipenv\core.py", line 350, in find_a_system_python
    return next(iter(finder.find_all_python_versions()), None)
  File "c:\users\dvcl643\appdata\local\programs\python\python38\lib\site-packages\pipenv\vendor\pythonfinder\pythonfinder.py", line 328, in find_all_python_ve
rsions
    path_list = sorted(versions, key=version_sort, reverse=True)
AttributeError: 'NoneType' object has no attribute 'version_sort'

لقد حللت هذا بالعودة إلى

pip install pipenv==2018.11.26

Windows 10، Python 3.8.3، pipenv 2020.6.2

تمكنت من حل هذا عن طريق كتابة المسار الكامل إلى python.exe:

تثبيت pipenv --python = "C: \ Users \ my_name \ AppData \ Local \ Programs \ Python \ Python38python.exe"

فيولا! خلق بيئة افتراضية.

لا يزال يظهر نفس الخطأ مع المسار الكامل إلى python.exe .

Windows 10 ، بناء 20161
Miniconda Python 3.7.4.0 تحديث
pipenv 2020.6.2

pipenv install --python="C:\Users\Han\Miniconda3\python.exe"

ملف Pipfile:

[[source]]
name = "pypi"
url = "https://pypi.org/simple"
verify_ssl = true

[dev-packages]
pytest = "*"
v = {editable = true,version = "*"}

[packages]
numpy = "==1.19"
tensorflow = "==2.2"
pillow = "*"
requests = "*"
nltk = "*"
matplotlib = "*"

[requires]
python_version = "3.7"

انتهى بي الأمر إلى تحديد إصدار Python على ملف الأنابيب من أجل العمل مع 3.8

[requires]
python_version = "3.8"

أين يقع ملف الأنابيب؟

أين يقع ملف الأنابيب؟

vincentclaes تم حل مشاكل الشكر ..

أرى أيضًا هذا الخطأ في OSX 10.14.6 ، مع pipenv 2020.8.13:

ملف Pipfile:

[requires]
python_version = "3.7.6"

pipenv install --dev --python $(pyenv root)/versions/3.7.6/bin/python

أخيرا،
AttributeError: 'NoneType' object has no attribute 'url'

هل سبق لك أن وجدت حلاً لهذا mracette ؟

تحرير: كان لدي نفس رسالة الخطأ الخاصة بـ mracette ، لكنني تمكنت من حلها بالرجوع إلى pipenv==2018.11.26 . ظهر في الإصدار pipenv==2020.4.1b1 وهو الإصدار الأول بعد إصدار 2018.

sigtot كان علي أيضًا العودة إلى 2018.11.26

sigtot pip-tools وتشغيل المطحنة venv ؟ :ابتسامة:

انا افهم هذا ايضا هل هناك سبب محدد لحدوث ذلك؟ هل تستخدم متغير PATH / PYTHONPATH env؟

لقد قمت بتثبيت إصدارات متعددة من Python ، إلى جانب تجربة شوكولاتة وظهر هذا الخطأ للتو في يوم من الأيام. ربما بعد أن قمت بترقيته. مررت ، وقمت بإلغاء تثبيت كل إصدار مدرج من Python ، وأعدت تثبيت 3.8.6 على مستوى النظام وما زلت أتلقى هذا الخطأ. ألغيت ذلك واستخدمت chocolatey لتثبيت 3.8.6 ، ومرة ​​أخرى ، لا تزال تظهر.

لست متأكدًا مما إذا كانت متغيرات البيئة الخاصة بي قد أفسدت بطريقة أو بأخرى مع الإصدارات المتعددة والشوكولاتة ، لكنني اعتقدت أنه كان من الممكن إصلاحها من خلال إلغاء التثبيت / إعادة التثبيت.

أنا أيضا حصلت على هذا الخطأ !!! بيئة Centos لا معنى لها أيضًا .. لقد جربت جهازي كمبيوتر تحت pipenv & pyenv ، نفس الرسالة

كما ذكر آخرون ، قرروا خفض التصنيف إلى pipenv 2018.11.26_4

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