You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When pipenv attempts to create a new environment, if there is a folder specified in PATH which is not accessible it will crash.
This is on WSL2, I also have a member of the team having this issue when using Pipenv + Windows natively
Expected result
Pipenv should create a new virtual environment.
Pipenv should ignore or warn about unreadable folders on PATH, without crashing.
Actual result
~/dev/test $ bat Pipfile
───────┬────────────────────────────────────────────────────────────────────────────────────────────────────────────────
│ File: Pipfile
───────┼────────────────────────────────────────────────────────────────────────────────────────────────────────────────
1 │ [[source]]
2 │ name = "pypi"
3 │ url = "https://pypi.org/simple"
4 │ verify_ssl = true
5 │
6 │ [dev-packages]
7 │
8 │ [packages]
9 │
10 │ [requires]
11 │ python_version = "3.8"
───────┴────────────────────────────────────────────────────────────────────────────────────────────────────────────────
~/dev/test $ pipenv install
Traceback (most recent call last):
File "/usr/local/bin/pipenv", line 8, in <module>
sys.exit(cli())
File "/usr/local/lib/python3.8/dist-packages/pipenv/vendor/click/core.py", line 1128, in __call__
return self.main(*args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/pipenv/vendor/click/core.py", line 1053, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python3.8/dist-packages/pipenv/vendor/click/core.py", line 1659, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/local/lib/python3.8/dist-packages/pipenv/vendor/click/core.py", line 1395, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python3.8/dist-packages/pipenv/vendor/click/core.py", line 754, in invoke
return __callback(*args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/pipenv/vendor/click/decorators.py", line 84, in new_func
return ctx.invoke(f, obj, *args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/pipenv/vendor/click/core.py", line 754, in invoke
return __callback(*args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/pipenv/cli/command.py", line 194, in install
do_install(
File "/usr/local/lib/python3.8/dist-packages/pipenv/core.py", line 1853, in do_install
ensure_project(
File "/usr/local/lib/python3.8/dist-packages/pipenv/core.py", line 517, in ensure_project
ensure_virtualenv(
File "/usr/local/lib/python3.8/dist-packages/pipenv/core.py", line 443, in ensure_virtualenv
python = ensure_python(project, three=three, python=python)
File "/usr/local/lib/python3.8/dist-packages/pipenv/core.py", line 335, in ensure_python
path_to_python = find_a_system_python(python)
File "/usr/local/lib/python3.8/dist-packages/pipenv/core.py", line 304, in find_a_system_python
python_entry = find_python(finder, line)
File "/usr/local/lib/python3.8/dist-packages/pipenv/utils.py", line 2199, in find_python
result = finder.find_python_version(line)
File "/usr/local/lib/python3.8/dist-packages/pipenv/vendor/pythonfinder/pythonfinder.py", line 288, in find_python_version
return self.system_path.find_python_version(
File "/usr/local/lib/python3.8/dist-packages/pipenv/vendor/pythonfinder/pythonfinder.py", line 120, in system_path
self._system_path = self.create_system_path()
File "/usr/local/lib/python3.8/dist-packages/pipenv/vendor/pythonfinder/pythonfinder.py", line 82, in create_system_path
return pyfinder_path.SystemPath.create(
File "/usr/local/lib/python3.8/dist-packages/pipenv/vendor/pythonfinder/models/path.py", line 667, in create
{
File "/usr/local/lib/python3.8/dist-packages/pipenv/vendor/pythonfinder/models/path.py", line 672, in <dictcomp>
if p.exists()
File "/usr/lib/python3.8/pathlib.py", line 1407, in exists
self.stat()
File "/usr/lib/python3.8/pathlib.py", line 1198, in stat
return self._accessor.stat(self)
PermissionError: [Errno 13] Permission denied: '/mnt/c/Program Files (x86)/Adaptiva/AdaptivaClient/bin/x32'
Steps to replicate
See above.
If i remove that folder from my PATH then it will work.
Please run $ pipenv --support, and paste the results here. Don't put backticks (`) around it! The output already contains Markdown formatting.
~/dev/test $ pipenv --support
<details><summary>$ pipenv --support</summary>
Pipenv version: `'2021.11.23'`
Pipenv location: `'/usr/local/lib/python3.8/dist-packages/pipenv'`
Python location: `'/usr/bin/python3'`
Python installations found:
Traceback (most recent call last):
File "/usr/local/bin/pipenv", line 8, in <module>
sys.exit(cli())
File "/usr/local/lib/python3.8/dist-packages/pipenv/vendor/click/core.py", line 1128, in __call__
return self.main(*args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/pipenv/vendor/click/core.py", line 1053, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python3.8/dist-packages/pipenv/vendor/click/core.py", line 1637, in invoke
super().invoke(ctx)
File "/usr/local/lib/python3.8/dist-packages/pipenv/vendor/click/core.py", line 1395, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python3.8/dist-packages/pipenv/vendor/click/core.py", line 754, in invoke
return __callback(*args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/pipenv/vendor/click/decorators.py", line 84, in new_func
return ctx.invoke(f, obj, *args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/pipenv/vendor/click/core.py", line 754, in invoke
return __callback(*args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/pipenv/vendor/click/decorators.py", line 26, in new_func
return f(get_current_context(), *args, **kwargs)
File "/usr/local/lib/python3.8/dist-packages/pipenv/cli/command.py", line 103, in cli
get_pipenv_diagnostics(state.project)
File "/usr/local/lib/python3.8/dist-packages/pipenv/help.py", line 31, in get_pipenv_diagnostics
python_paths = finder.find_all_python_versions()
File "/usr/local/lib/python3.8/dist-packages/pipenv/vendor/pythonfinder/pythonfinder.py", line 312, in find_all_python_versions
python_version_dict = getattr(self.system_path, "python_version_dict", {})
File "/usr/local/lib/python3.8/dist-packages/pipenv/vendor/pythonfinder/pythonfinder.py", line 120, in system_path
self._system_path = self.create_system_path()
File "/usr/local/lib/python3.8/dist-packages/pipenv/vendor/pythonfinder/pythonfinder.py", line 82, in create_system_path
return pyfinder_path.SystemPath.create(
File "/usr/local/lib/python3.8/dist-packages/pipenv/vendor/pythonfinder/models/path.py", line 667, in create
{
File "/usr/local/lib/python3.8/dist-packages/pipenv/vendor/pythonfinder/models/path.py", line 672, in <dictcomp>
if p.exists()
File "/usr/lib/python3.8/pathlib.py", line 1407, in exists
self.stat()
File "/usr/lib/python3.8/pathlib.py", line 1198, in stat
return self._accessor.stat(self)
PermissionError: [Errno 13] Permission denied: '/mnt/c/Program Files (x86)/Adaptiva/AdaptivaClient/bin/x32'
~/dev/test
The exception is being thrown by upstream package pythonfinder.
There is already an open issue on pythonfinder that seems to line up with what's going on here:
Issue description
When pipenv attempts to create a new environment, if there is a folder specified in PATH which is not accessible it will crash.
This is on WSL2, I also have a member of the team having this issue when using Pipenv + Windows natively
Expected result
Pipenv should create a new virtual environment.
Pipenv should ignore or warn about unreadable folders on PATH, without crashing.
Actual result
Steps to replicate
See above.
If i remove that folder from my PATH then it will work.
Please run
$ pipenv --support
, and paste the results here. Don't put backticks (`
) around it! The output already contains Markdown formatting.APPLY FIX FOR PATH
$ pipenv --support
Pipenv version:
'2021.11.23'
Pipenv location:
'/usr/local/lib/python3.8/dist-packages/pipenv'
Python location:
'/usr/bin/python3'
Python installations found:
3.10.0
:/home/bendog/.pyenv/versions/3.10.0/bin/python3
3.9.7
:/home/bendog/.pyenv/versions/3.9.7/bin/python3.9
3.9.0
:/home/bendog/.pyenv/versions/3.9.0/bin/python3.9
3.8.10
:/usr/bin/python3.8
3.8.10
:/usr/bin/python3
3.8.10
:/usr/bin/python
3.8.10
:/bin/python3.8
3.8.10
:/bin/python3
3.8.10
:/bin/python
3.7.9
:/home/bendog/.pyenv/versions/3.7.9/bin/python3.7
3.6.12
:/home/bendog/.pyenv/versions/3.6.12/bin/python3
2.7.18
:/usr/bin/python2
2.7.18
:/usr/bin/python2.7
2.7.18
:/bin/python2
2.7.18
:/bin/python2.7
PEP 508 Information:
System environment variables:
HOSTTYPE
LANG
PATH
TERM
WSLENV
WT_SESSION
WT_PROFILE_ID
WSL_INTEROP
NAME
HOME
USER
LOGNAME
SHELL
WSL_DISTRO_NAME
SHLVL
PWD
OLDPWD
WSL_HOST
PYENV_ROOT
LESS
P9K_TTY
ZSH
PAGER
LSCOLORS
LS_COLORS
PYENV_SHELL
VIRTUAL_ENV_DISABLE_PROMPT
P9K_SSH
EDITOR
pipfile_dir
_
PIP_SHIMS_BASE_MODULE
PIP_DISABLE_PIP_VERSION_CHECK
PYTHONDONTWRITEBYTECODE
PIP_PYTHON_PATH
PYTHONFINDER_IGNORE_UNSUPPORTED
Pipenv–specific environment variables:
Debug–specific environment variables:
PATH
:/home/bendog/.pyenv//bin:/home/bendog/.pyenv/shims:/home/bendog/.pyenv/bin:/home/bendog/.local/bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/wsl/lib:/mnt/c/WINDOWS/CCM/:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0/:/mnt/c/WINDOWS/System32/OpenSSH/:/mnt/c/Program Files (x86)/Webex/Plugins:/mnt/c/ProgramData/chocolatey/bin:/mnt/c/Program Files/Amazon/AWSCLIV2/:/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0/:/mnt/c/WINDOWS/System32/OpenSSH/:/mnt/c/Program Files/PowerShell/7/:/mnt/c/Program Files/Docker/Docker/resources/bin:/mnt/c/ProgramData/DockerDesktop/version-bin:/mnt/c/Users/fitzbe/scoop/shims:/mnt/c/Users/fitzbe/AppData/Local/Programs/Python/Python38/Scripts/:/mnt/c/Users/fitzbe/AppData/Local/Programs/Python/Python38/:/mnt/c/Users/fitzbe/AppData/Local/Programs/Microsoft VS Code/bin:/mnt/c/Users/fitzbe/AppData/Local/Programs/Git/cmd:/mnt/c/Users/fitzbe/AppData/Local/Programs/Hyper/resources/bin
SHELL
:/usr/bin/zsh
EDITOR
:nano
LANG
:en_AU.UTF-8
PWD
:/home/bendog/dev/test
Contents of
Pipfile
('/home/bendog/dev/test/Pipfile'):The text was updated successfully, but these errors were encountered: