Pipenv: AttributeError : 'NoneType'κ°œμ²΄μ— 'version_sort'속성이 μ—†μŠ΅λ‹ˆλ‹€.

에 λ§Œλ“  2020λ…„ 05μ›” 30일  Β·  16μ½”λ©˜νŠΈ  Β·  좜처: pypa/pipenv

문제 μ„€λͺ…

pipenv install --verbose 싀행에 μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€.

μ˜ˆμƒ κ²°κ³Ό

가상 ν™˜κ²½μ΄ μ„€μ •λ˜κ³  pipfile이 μƒμ„±λ˜μ—ˆμœΌλ©° νŒμ—…μ— 였λ₯˜κ°€ μ—†μŠ΅λ‹ˆλ‹€.

μ‹€μ œ κ²°κ³Ό

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을 포함 함).

win10 μ‹œμŠ€ν…œμ—μ„œ pipenv install --verbose .

$ pipenv --support

Pipenv 버전 : '2020.5.28'

Pipenv μœ„μΉ˜ : 'c:\\python38\\lib\\site-packages\\pipenv'

Python μœ„μΉ˜ : '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

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

이 λ¬Έμ œλŠ” python 3.8.3 및 pipenv 2020.6.2λ₯Ό μ‚¬μš©ν•˜λŠ” win10μ—μ„œ μ—¬μ „νžˆ μ§€μ†λ©λ‹ˆλ‹€.

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 λŒ“κΈ€

같은 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€. 더 λ˜‘λ˜‘ν•œ μ‚¬λžŒμ΄ 해결책을 μ°ΎκΈ°λ₯Ό κΈ°λŒ€ν•©λ‹ˆλ‹€.

ν•΄κ²° 방법을 μ°Ύμ•˜μ§€λ§Œ 컴퓨터 / 파이썬 / 가상 ν™˜κ²½μ—μ„œ μž‘λ™ν•˜λŠ” 이유λ₯Ό μ•ŒκΈ°μ— μΆ©λΆ„ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
ν„°λ―Έλ„μ—μ„œ :

  1. virtualenv λ‹€μš΄λ‘œλ“œ (pipenv의 pip μ„€μΉ˜κ°€ 아직 μ™„λ£Œλ˜μ§€ μ•Šμ€ 경우)
  2. virtualenvμ—μ„œ 가상 ν™˜κ²½ 생성-> μ˜¨λΌμΈμ—μ„œ 지침 확인
  3. virtualenv λ‚΄λΆ€μ—μ„œ pipfile을 μ›ν•˜λŠ” ν΄λ”λ‘œ μ΄λ™ν•˜μ‹­μ‹œμ˜€.
  4. pipenv μ„€μΉ˜ [python_package]
  5. pipfile 및 잠금 νŒŒμΌμ„ λ§Œλ“€μ–΄μ•Όν•©λ‹ˆλ‹€. 그런 λ‹€μŒ 가상 ν™˜κ²½μ„ μ’…λ£Œν•©λ‹ˆλ‹€.
  6. pipenv νŒŒμΌμ΄μžˆλŠ” ν”„λ‘œμ νŠΈμ˜ ν΄λ”λ‘œ μ΄λ™ν•©λ‹ˆλ‹€.
  7. pipenv shell을 μž…λ ₯ν•©λ‹ˆλ‹€. 이것은 pipenv ꡬ쑰 내에 가상 ν™˜κ²½μ„ μƒμ„±ν•΄μ•Όν•©λ‹ˆλ‹€.

λ™μΌν•œ 였λ₯˜κ°€ μžˆμŠ΅λ‹ˆλ‹€. ν•΄κ²° 방법이 μžˆμŠ΅λ‹ˆκΉŒ?
생성 된 virtaulenv에 pipenv μ„€μΉ˜λŠ” μ–ΈκΈ‰ 된 jasoncammarata와 같은 λ¬Έμ œμ—†μ΄ μž‘λ™ν•˜μ§€λ§Œ.
μ™œ 그런 κ²λ‹ˆκΉŒ?

이 λ¬Έμ œλŠ” python 3.8.3 및 pipenv 2020.6.2λ₯Ό μ‚¬μš©ν•˜λŠ” win10μ—μ„œ μ—¬μ „νžˆ μ§€μ†λ©λ‹ˆλ‹€.

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 install --python = "C : Usersmy_nameAppDataLocalProgramsPythonPython38python.exe"

λΉ„μ˜¬λΌ! 가상 ν™˜κ²½μ΄ μƒμ„±λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

python.exe 전체 κ²½λ‘œμ—μ„œ μ—¬μ „νžˆ λ™μΌν•œ 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€.

Windows 10, λΉŒλ“œ 20161
Miniconda Python 3.7.4
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"

3.8μ—μ„œ μž‘μ—…ν•˜λ €λ©΄ pipfile에 Python 버전을 μ§€μ •ν•΄μ•Όν–ˆμŠ΅λ‹ˆλ‹€.

[requires]
python_version = "3.8"

pipfile은 어디에 μžˆμŠ΅λ‹ˆκΉŒ?

pipfile은 어디에 μžˆμŠ΅λ‹ˆκΉŒ?

@vincentclaes 감사 λ¬Έμ œκ°€ ν•΄κ²°λ˜μ—ˆμŠ΅λ‹ˆλ‹€ ..

pipenv 2020.8.13κ³Ό ν•¨κ»˜ OSX 10.14.6μ—μ„œλ„μ΄ 였λ₯˜κ°€ ν‘œμ‹œλ©λ‹ˆλ‹€.

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 둜 되돌렀 문제λ₯Ό ν•΄κ²°ν•  μˆ˜μžˆμ—ˆμŠ΅λ‹ˆλ‹€. 2018 λ…„ 이후 첫 번째 릴리슀 인 pipenv==2020.4.1b1 버전에 λ“±μž₯ν–ˆμŠ΅λ‹ˆλ‹€.

@sigtot 2018.11.26 으둜 되돌렀 μ•Όν–ˆμŠ΅λ‹ˆλ‹€.

@sigtot pip-tools 및 ν‰λ²”ν•œ μ‹€ν–‰ venv ? :λ―Έμ†Œ:

λ‚˜λŠ” 이것도 μ–»κ³ μžˆλ‹€. μ™œ 이런 일이 λ°œμƒν–ˆλŠ”μ§€μ— λŒ€ν•œ ꡬ체적인 μ΄μœ κ°€ μžˆμŠ΅λ‹ˆκΉŒ? PATH / PYTHONPATH ν™˜κ²½ λ³€μˆ˜λ₯Ό μ‚¬μš©ν•©λ‹ˆκΉŒ?

λ‚˜λŠ” 초콜릿의 μ‹œν—˜κ³Ό ν•¨κ»˜ μ—¬λŸ¬ λ²„μ „μ˜ 파이썬이 μ„€μΉ˜λ˜μ–΄ μžˆμ—ˆκ³ μ΄ 였λ₯˜λŠ” ν•˜λ£¨ λ§Œμ— λ‚˜νƒ€λ‚¬μŠ΅λ‹ˆλ‹€. μ•„λ§ˆ λ‚΄κ°€ 그것을 μ—…κ·Έλ ˆμ΄λ“œ ν•œ 후에. λ‚˜λŠ” λͺ¨λ“  λ‚˜μ—΄λœ 파이썬 버전을 μ œκ±°ν•˜κ³  μ‹œμŠ€ν…œ μˆ˜μ€€μ—μ„œ 3.8.6을 λ‹€μ‹œ μ„€μΉ˜ ν–ˆμ§€λ§Œ μ—¬μ „νžˆμ΄ 였λ₯˜κ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€. 그것을 μ œκ±°ν•˜κ³  chocolateyλ₯Ό μ‚¬μš©ν•˜μ—¬ 3.8.6을 μ„€μΉ˜ν–ˆμ§€λ§Œ μ—¬μ „νžˆ νŒμ—…λ©λ‹ˆλ‹€.

μ–΄λ–»κ²Œ λ“  λ‚΄ ν™˜κ²½ λ³€μˆ˜κ°€ μ—¬λŸ¬ 버전과 초콜릿으둜 μ—‰λ§μ΄λ˜μ—ˆλŠ”μ§€ ν™•μ‹€ν•˜μ§€ μ•Šμ§€λ§Œ 제거 / μž¬μ„€μΉ˜λ‘œ μˆ˜μ •λ˜μ—ˆμ„ 것이라고 μƒκ°ν–ˆμŠ΅λ‹ˆλ‹€.

λ‚˜λŠ” λ˜ν•œ κ·Έ 였λ₯˜λ₯Ό μ–»μ—ˆλ‹€ !!! Centos ν™˜κ²½λ„ μ΄μΉ˜μ— λ§žμ§€ μ•ŠμŠ΅λ‹ˆλ‹€ .. pipenv & pyenv, λ™μΌν•œ λ©”μ‹œμ§€λ‘œ 2 λŒ€μ˜ 컴퓨터λ₯Ό μ‹œλ„ν–ˆμŠ΅λ‹ˆλ‹€.

λ‹€λ₯Έ μ‚¬λžŒλ“€μ΄ λ§ν–ˆλ“―μ΄ pipenv 2018.11.26_4둜 λ‹€μš΄ κ·Έλ ˆμ΄λ“œν•˜κΈ°λ‘œ κ²°μ •ν–ˆμŠ΅λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰