pipenv: AttributeError: 'NoneType' object has no attribute 'version_sort'
Issue description
Running pipenv install --verbose failed.
Expected result
Expected a virtual env to be set up, a pipfile created, and no errors to pop up.
Actual result
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'
Steps to replicate
Provide the steps to replicate (which usually at least includes the commands and the Pipfile).
pipenv install --verbose
on win10 machine.
$ pipenv --support
Pipenv version: '2020.5.28'
Pipenv location: 'c:\\python38\\lib\\site-packages\\pipenv'
Python location: 'c:\\python38\\python.exe'
Python installations found:
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'
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Reactions: 9
- Comments: 29
Windows 10, Python 3.8.3, pipenv 2020.6.2
I managed to solve this by typing in the full path to the python.exe:
pipenv install --python=“C:\Users\my_name\AppData\Local\Programs\Python\Python38\python.exe”
Viola! Virtual environment created.
this issue still persists on win10 with python 3.8.3 and pipenv 2020.6.2
I have solved this by reverting to
pip install pipenv==2018.11.26
run it with “–three”
pipenv --three
Running
pip3 install pipenv==2018.11.26
in terminal solved the below issue for meAttributeError: 'NoneType' object has no attribute 'url'
Thanks JadJabbour This worked for me ex: pipenv --three install django~=3.1.0
Still getting the same error with full path to
python.exe
.Windows 10, Build 20161 Miniconda Python 3.7.4 pipenv 2020.6.2
Pipfile:
Workaround for pipenv 2021.5.29: specify your version of python when running pipenv for the first time:
pipenv --python 3.9.5 pipenv install
If you don’t know your version of python: python --version
All previous versions of pipenv appear to run as expected.
I am also seeing this error on OSX 10.14.6, with pipenv 2020.8.13:
Pipfile:
pipenv install --dev --python $(pyenv root)/versions/3.7.6/bin/python
Finally,
AttributeError: 'NoneType' object has no attribute 'url'
After implementing above solution, I’m getting the Value Error “Unable to find t64.exe in package distlib”(despite the existence of t64.exe)