pipenv
pipenv copied to clipboard
FileNotFoundError: [Errno 2] when installing pipenv from pipfile
Hi all,
I am experiencing some issues while building my docker file on the last shown step (1):
COPY Pipfile* ./
RUN pip3 install pipenv
(1) RUN PIPENV_VENV_IN_PROJECT=1 pipenv install --deploy --clear --keep-outdated.
I get the following Stacktrace:
> [builder-image 5/5] RUN pipenv install --deploy --clear --keep-outdated:
#10 1.527 Creating a virtualenv for this project...
#10 1.527 Pipfile: /Pipfile
#10 1.543 Using /usr/bin/python3 (3.10.4) to create virtualenv...
⠼ Creating virtual environment...created virtual environment CPython3.10.4.final.0-64 in 491ms
#10 2.680 creator CPython3Posix(dest=/.venv, clear=False, no_vcs_ignore=False, global=False)
#10 2.680 seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/root/.local/share/virtualenv)
#10 2.680 added seed packages: pip==22.0.4, setuptools==62.1.0, wheel==0.37.1
#10 2.680 activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator
#10 2.680
#10 2.758✔ Successfully created virtual environment!
#10 2.760 Traceback (most recent call last):
#10 2.760 File "/usr/local/bin/pipenv", line 8, in <module>
#10 2.760 sys.exit(cli())
#10 2.760 File "/usr/local/lib/python3.10/dist-packages/pipenv/vendor/click/core.py", line 1128, in __call__
#10 2.761 return self.main(*args, **kwargs)
#10 2.761 File "/usr/local/lib/python3.10/dist-packages/pipenv/cli/options.py", line 56, in main
#10 2.761 return super().main(*args, **kwargs, windows_expand_args=False)
#10 2.761 File "/usr/local/lib/python3.10/dist-packages/pipenv/vendor/click/core.py", line 1053, in main
#10 2.761 rv = self.invoke(ctx)
#10 2.761 File "/usr/local/lib/python3.10/dist-packages/pipenv/vendor/click/core.py", line 1659, in invoke
#10 2.762 return _process_result(sub_ctx.command.invoke(sub_ctx))
#10 2.764 File "/usr/local/lib/python3.10/dist-packages/pipenv/vendor/click/core.py", line 1395, in invoke
#10 2.765 return ctx.invoke(self.callback, **ctx.params)
#10 2.765 File "/usr/local/lib/python3.10/dist-packages/pipenv/vendor/click/core.py", line 754, in invoke
#10 2.765 return __callback(*args, **kwargs)
#10 2.766 File "/usr/local/lib/python3.10/dist-packages/pipenv/vendor/click/decorators.py", line 84, in new_func
#10 2.766 return ctx.invoke(f, obj, *args, **kwargs)
#10 2.766 File "/usr/local/lib/python3.10/dist-packages/pipenv/vendor/click/core.py", line 754, in invoke
#10 2.767 return __callback(*args, **kwargs)
#10 2.767 File "/usr/local/lib/python3.10/dist-packages/pipenv/cli/command.py", line 222, in install
#10 2.767 do_install(
#10 2.767 File "/usr/local/lib/python3.10/dist-packages/pipenv/core.py", line 1964, in do_install
#10 2.768 ensure_project(
#10 2.768 File "/usr/local/lib/python3.10/dist-packages/pipenv/core.py", line 552, in ensure_project
#10 2.770 ensure_virtualenv(
#10 2.770 File "/usr/local/lib/python3.10/dist-packages/pipenv/core.py", line 485, in ensure_virtualenv
#10 2.770 do_create_virtualenv(
#10 2.770 File "/usr/local/lib/python3.10/dist-packages/pipenv/core.py", line 1012, in do_create_virtualenv
#10 2.771 project._environment = Environment(
#10 2.772 File "/usr/local/lib/python3.10/dist-packages/pipenv/environment.py", line 70, in __init__
#10 2.772 self._base_paths = self.get_paths()
#10 2.773 File "/usr/local/lib/python3.10/dist-packages/pipenv/environment.py", line 394, in get_paths
#10 2.774 c = subprocess_run(command)
#10 2.774 File "/usr/local/lib/python3.10/dist-packages/pipenv/utils/processes.py", line 75, in subprocess_run
#10 2.774 return subprocess.run(
#10 2.775 File "/usr/lib/python3.10/subprocess.py", line 501, in run
#10 2.775 with Popen(*popenargs, **kwargs) as process:
#10 2.775 File "/usr/lib/python3.10/subprocess.py", line 966, in __init__
#10 2.776 self._execute_child(args, executable, preexec_fn, close_fds,
#10 2.778 File "/usr/lib/python3.10/subprocess.py", line 1842, in _execute_child
#10 2.778 raise child_exception_type(errno_num, err_msg, err_filename)
#10 2.778 FileNotFoundError: [Errno 2] No such file or directory: '/.venv/bin/python'
------
executor failed running [/bin/sh -c pipenv install --deploy --clear --keep-outdated]: exit code: 1
The solution I found is:
COPY Pipfile* ./
RUN pip3 install pipenv==v2022.4.20
RUN PIPENV_VENV_IN_PROJECT=1 pipenv install --deploy --clear --keep-outdated
The build image is ubuntu:22.04, python-version 3.10.4
I don't think there should be a v in front of your version for 2022.4.20 on the solution line RUN pip3 install pipenv==v2022.4.20
-- not sure how that could work. That being said, @limkin092 are you saying your Dockerfile works on 2022.4.20
and no ton 2022.4.21
?
I am having the same issue on the new Ubuntu 22.04 but not the previous 21.10.
I do not understand the problem but I have identified a workaround: pip uninstall -y setuptools
seems to allow pipenv to run.
I can reproduce the issue without pipenv. Something about the act of installing the setuptools dependency specified in pipenv’s setup.py breaks virtualenv creation on Ubuntu 22.04; no bin
dir gets created.
FROM ubuntu:22.04
RUN apt update \
&& DEBIAN_FRONTEND=noninteractive apt install -y python3-pip \
&& rm -rf /var/lib/apt/lists
RUN adduser user1
USER user1
WORKDIR /home/user1
RUN pip install --user virtualenv 'setuptools>=60.0.0'
RUN python3 -m virtualenv foo && foo/bin/python3 --version
fails with /bin/sh: 1: foo/bin/python3: not found
same problem: pipenv: version 2022.4.21 Ubuntu 22.04 LTS Python 3.10.4
pipenv install requests
/usr/local/lib/python3.10/dist-packages/pkg_resources/__init__.py:123: PkgResourcesDeprecationWarning: 1.16.0-unknown is an invalid version and will not be supported in a future release
warnings.warn(
/usr/local/lib/python3.10/dist-packages/pkg_resources/__init__.py:123: PkgResourcesDeprecationWarning: 1.1build1 is an invalid version and will not be supported in a future release
warnings.warn(
/usr/local/lib/python3.10/dist-packages/pkg_resources/__init__.py:123: PkgResourcesDeprecationWarning: 0.1.43ubuntu1 is an invalid version and will not be supported in a future release
warnings.warn(
Creating a virtualenv for this project...
Pipfile: /home/ubuntu/Downloads/Pipfile
Using /usr/bin/python3 (3.10.4) to create virtualenv...
⠧ Creating virtual environment...created virtual environment CPython3.10.4.final.0-64 in 185ms
creator CPython3Posix(dest=/home/ubuntu/.local/share/virtualenvs/Downloads-UJGff8HK, clear=False, no_vcs_ignore=False, global=False)
seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/ubuntu/.local/share/virtualenv)
added seed packages: pip==22.0.4, setuptools==62.1.0, wheel==0.37.1
activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator
✔ Successfully created virtual environment!
Traceback (most recent call last):
File "/usr/local/bin/pipenv", line 8, in <module>
sys.exit(cli())
File "/home/ubuntu/.local/lib/python3.10/site-packages/pipenv/vendor/click/core.py", line 1128, in __call__
return self.main(*args, **kwargs)
File "/home/ubuntu/.local/lib/python3.10/site-packages/pipenv/cli/options.py", line 56, in main
return super().main(*args, **kwargs, windows_expand_args=False)
File "/home/ubuntu/.local/lib/python3.10/site-packages/pipenv/vendor/click/core.py", line 1053, in main
rv = self.invoke(ctx)
File "/home/ubuntu/.local/lib/python3.10/site-packages/pipenv/vendor/click/core.py", line 1659, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/ubuntu/.local/lib/python3.10/site-packages/pipenv/vendor/click/core.py", line 1395, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/ubuntu/.local/lib/python3.10/site-packages/pipenv/vendor/click/core.py", line 754, in invoke
return __callback(*args, **kwargs)
File "/home/ubuntu/.local/lib/python3.10/site-packages/pipenv/vendor/click/decorators.py", line 84, in new_func
return ctx.invoke(f, obj, *args, **kwargs)
File "/home/ubuntu/.local/lib/python3.10/site-packages/pipenv/vendor/click/core.py", line 754, in invoke
return __callback(*args, **kwargs)
File "/home/ubuntu/.local/lib/python3.10/site-packages/pipenv/cli/command.py", line 222, in install
do_install(
File "/home/ubuntu/.local/lib/python3.10/site-packages/pipenv/core.py", line 1964, in do_install
ensure_project(
File "/home/ubuntu/.local/lib/python3.10/site-packages/pipenv/core.py", line 552, in ensure_project
ensure_virtualenv(
File "/home/ubuntu/.local/lib/python3.10/site-packages/pipenv/core.py", line 485, in ensure_virtualenv
do_create_virtualenv(
File "/home/ubuntu/.local/lib/python3.10/site-packages/pipenv/core.py", line 1012, in do_create_virtualenv
project._environment = Environment(
File "/home/ubuntu/.local/lib/python3.10/site-packages/pipenv/environment.py", line 70, in __init__
self._base_paths = self.get_paths()
File "/home/ubuntu/.local/lib/python3.10/site-packages/pipenv/environment.py", line 394, in get_paths
c = subprocess_run(command)
File "/home/ubuntu/.local/lib/python3.10/site-packages/pipenv/utils/processes.py", line 75, in subprocess_run
return subprocess.run(
File "/usr/lib/python3.10/subprocess.py", line 501, in run
with Popen(*popenargs, **kwargs) as process:
File "/usr/lib/python3.10/subprocess.py", line 966, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "/usr/lib/python3.10/subprocess.py", line 1842, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: '/home/ubuntu/.local/share/virtualenvs/Downloads-UJGff8HK/bin/python'
what is see is virtualenv create complete other structure without bin
ls /home/ubuntu/.local/share/virtualenvs/Downloads-UJGff8HK/
lib local pyvenv.cfg
This happens with setuptools>=60
on Ubuntu 22.04 with Python 3.10.4 but not on Ubuntu 20.04 with Python 3.8.10/3.9.5.
Downgrading setuptools to before version 60 works around the problem. Ubuntu 22.04 comes with version 59.6.0 but pipenv 2022.4.21 wants setuptools>=60.0.0
.
The (excellent!) bug report at https://github.com/pypa/setuptools/issues/3278 identifies the cause more precisely.
There are two better workarounds identified there:
- Set the environment variable
SETUPTOOLS_USE_DISTUTILS=stdlib
when running pipenv. - Or change the default setting in a file with
sed -i.bak -e "s/var, 'local'/var, 'stdlib'/" ~/.local/lib/python3.10/site-packages/distutils-precedence.pth
@andrewdotn this worked for me :) @matteius yes, from one day to other it did not work...
@andrewdotn the SETUPTOOLS_USE_DISTUTILS=stdlib
also worked for me.
@oz123 I am wondering what could have been different between 2022.4.20
and 2022.4.21
that might have caused this?
Ah I forgot that I updated the minimum version of pip and setuptools when I dropped 3.6 support -- I think I based it on the versions that had dropped 3.6 support of those projects: https://github.com/pypa/pipenv/pull/5066/files#diff-60f61ab7a8d1910d86d9fda2261620314edcae5894d5aaa236b821c7256badd7R26
@andrewdotn I had to export in order for it to work:
export SETUPTOOLS_USE_DISTUTILS=stdlib
I would like some guidance on what the proper resolution would be for pipenv -- should we loosen the versions of setuptools in the setup.py? I am not convinced that we should allow such older versions of pip since we vendor in the latest pip, (I also thought we only used the pip internal to pipenv, and the fact that we use both I find troubling), anyway I am glad there is some work arounds, but I'd like to understand the path forward for this pipenv issue as well.
I don't think the version of pip affects this?
When the setuptools/virtualenv/distutils bug is resolved then pipenv can depend on the newer version of those.
The difference between 2022.4.20
and 2022.4.21
is that it requires setuptools>=60
which has this problem. Ubuntu 22.04 was also released around the same time.
@andrewdotn trying to get rid of this warning:
/home/danka/.local/lib/python3.10/site-packages/pkg_resources/__init__.py:123: PkgResourcesDeprecationWarning: 1.1build1 is an invalid version and will not be supported in a future release
But the workaround you mentioned didn't solve it. Any ideas what's the issue here?
- python 3.10.4
- pip 22.0.4
- pipenv, version 2022.4.21
@emmmhx The deprecation warning shouldn't be causing an actual error ... is that 1.1build1
coming from your own package?
@nomis Ok sounds like a plan to open setuptools back up to the prior specifier.
@matteius This warning appears every time I run pipenv
in terminal.
I also have these warnings every time I run pipenv. Although the command works, the warnings are undesired.
I'm using unto 22.04 with WSL2.
Can someone try this branch and see downgrading the setuptools specifier is enough? https://github.com/pypa/pipenv/pull/5087
@matteius Sure. I tested but it did not solve the problem.
I did the following commands:
$ pip uninstall pipenv
$ pip install "git+https://github.com/pypa/pipenv.git@issue-5075-setuptools"
Then, tried to create the env:
$ pipenv install
The result was:
/home/user/.local/lib/python3.10/site-packages/pkg_resources/__init__.py:123: PkgResourcesDeprecationWarning: 0.1.43ubuntu1 is an invalid version and will not be supported in a future release
warnings.warn(
/home/user/.local/lib/python3.10/site-packages/pkg_resources/__init__.py:123: PkgResourcesDeprecationWarning: 1.1build1 is an invalid version and will not be supported in a future release
warnings.warn(
Creating a virtualenv for this project...
Pipfile: /home/user/tmp/Pipfile
Using /usr/bin/python3 (3.10.4) to create virtualenv...
⠙ Creating virtual environment...created virtual environment CPython3.10.4.final.0-64 in 403ms
creator CPython3Posix(dest=/home/user/.local/share/virtualenvs/tmp-K1LwcDUA, clear=False, no_vcs_ignore=False, global=False)
seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/user/.local/share/virtualenv)
added seed packages: pip==22.0.4, setuptools==62.1.0, wheel==0.37.1
activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator
✔ Successfully created virtual environment!
Traceback (most recent call last):
File "/home/user/.local/bin/pipenv", line 8, in <module>
sys.exit(cli())
File "/home/user/.local/lib/python3.10/site-packages/pipenv/vendor/click/core.py", line 1128, in __call__
return self.main(*args, **kwargs)
File "/home/user/.local/lib/python3.10/site-packages/pipenv/cli/options.py", line 56, in main
return super().main(*args, **kwargs, windows_expand_args=False)
File "/home/user/.local/lib/python3.10/site-packages/pipenv/vendor/click/core.py", line 1053, in main
rv = self.invoke(ctx)
File "/home/user/.local/lib/python3.10/site-packages/pipenv/vendor/click/core.py", line 1659, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/user/.local/lib/python3.10/site-packages/pipenv/vendor/click/core.py", line 1395, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/user/.local/lib/python3.10/site-packages/pipenv/vendor/click/core.py", line 754, in invoke
return __callback(*args, **kwargs)
File "/home/user/.local/lib/python3.10/site-packages/pipenv/vendor/click/decorators.py", line 84, in new_func
return ctx.invoke(f, obj, *args, **kwargs)
File "/home/user/.local/lib/python3.10/site-packages/pipenv/vendor/click/core.py", line 754, in invoke
return __callback(*args, **kwargs)
File "/home/user/.local/lib/python3.10/site-packages/pipenv/cli/command.py", line 222, in install
do_install(
File "/home/user/.local/lib/python3.10/site-packages/pipenv/core.py", line 1965, in do_install
ensure_project(
File "/home/user/.local/lib/python3.10/site-packages/pipenv/core.py", line 553, in ensure_project
ensure_virtualenv(
File "/home/user/.local/lib/python3.10/site-packages/pipenv/core.py", line 486, in ensure_virtualenv
do_create_virtualenv(
File "/home/user/.local/lib/python3.10/site-packages/pipenv/core.py", line 1013, in do_create_virtualenv
project._environment = Environment(
File "/home/user/.local/lib/python3.10/site-packages/pipenv/environment.py", line 70, in __init__
self._base_paths = self.get_paths()
File "/home/user/.local/lib/python3.10/site-packages/pipenv/environment.py", line 394, in get_paths
c = subprocess_run(command)
File "/home/user/.local/lib/python3.10/site-packages/pipenv/utils/processes.py", line 75, in subprocess_run
return subprocess.run(
File "/usr/lib/python3.10/subprocess.py", line 501, in run
with Popen(*popenargs, **kwargs) as process:
File "/usr/lib/python3.10/subprocess.py", line 966, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "/usr/lib/python3.10/subprocess.py", line 1842, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: '/home/user/.local/share/virtualenvs/tmp-K1LwcDUA/bin/python'
@matteius Yup, that branch works for me when I change the pip install
line in my test Dockerfile to @felipecrp’s pip install "git+https://github.com/pypa/pipenv.git@issue-5075-setuptools"
, and include a required apt install -y git
.
@felipecrp Did you try that command on a fresh machine? Or maybe after first uninstalling setuptools? Installing just the updated pipenv in an environment that was already experiencing this issue won’t automatically downgrade or remove an updated setuptools.
@andrewdotn @matteius If I uninstall setuptools, it works, but I still get the warnings.
$ pip uninstall pipenv
$ pip uninstall setuptools
$ pip install "git+https://github.com/pypa/pipenv.git@issue-5075-setuptools"
$ pipenv install
The command successfully creates the env, but still with some warnings.
/usr/lib/python3/dist-packages/pkg_resources/__init__.py:116: PkgResourcesDeprecationWarning: 0.1.43ubuntu1 is an invalid version and will not be supported in a future release
warnings.warn(
/usr/lib/python3/dist-packages/pkg_resources/__init__.py:116: PkgResourcesDeprecationWarning: 1.1build1 is an invalid version and will not be supported in a future release
warnings.warn(
Creating a virtualenv for this project...
Pipfile: /home/user/tmp/Pipfile
Using /usr/bin/python3 (3.10.4) to create virtualenv...
⠸ Creating virtual environment...created virtual environment CPython3.10.4.final.0-64 in 202ms
creator CPython3Posix(dest=/home/user/.local/share/virtualenvs/tmp-K1LwcDUA, clear=False, no_vcs_ignore=False, global=False)
seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=/home/user/.local/share/virtualenv)
added seed packages: pip==22.0.4, setuptools==62.1.0, wheel==0.37.1
activators BashActivator,CShellActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator
✔ Successfully created virtual environment!
Virtualenv location: /home/user/.local/share/virtualenvs/tmp-K1LwcDUA
Creating a Pipfile for this project...
Pipfile.lock not found, creating...
Locking [dev-packages] dependencies...
Locking [packages] dependencies...
Updated Pipfile.lock (e4eef2)!
Installing dependencies from Pipfile.lock (e4eef2)...
🐍 ▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉ 0/0 — 00:00:00
To activate this project's virtualenv, run pipenv shell.
Alternatively, run a command inside the virtualenv with pipenv run.
Those warnings are nothing to do with pipenv.
They're coming from pkg_resources and would need to be reported to Ubuntu, but this warning has been present for several Ubuntu LTS releases now.
I don't know but I only see them when I run pipenv
.
@felipecrp its definitely been reported before the new versions about the warnings for pkg_resources. Here is an example, and there are a couple more if you search the closed issues: https://github.com/pypa/pipenv/issues/4960
I believe that the pull request solves this issue. Thank you all for the help!
@andrewdotn I had to export in order for it to work:
export SETUPTOOLS_USE_DISTUTILS=stdlib
This worked for me as well.
System Information:
Python
Python 3.10.4
pipenv, version 2022.4.20
Kernel
Linux cj-Z 5.15.0-25-generic #25-Ubuntu SMP Wed Mar 30 15:54:22 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
Ubuntu:
Distributor ID: Ubuntu
Description: Ubuntu 22.04 LTS
Release: 22.04
Codename: jammy
For those mortals here who are still confused and questioning--"what commands do I run to fix this..." which was definitely not moi, try,
pip install --upgrade --user setuptools==58.3.0
Bump ino this error on Ubuntu 22.04 Python 3.10.4 even after export SETUPTOOLS_USE_DISTUTILS=stdlib
and upgraded setuptools.
$ pip install --upgrade --user setuptools
Requirement already satisfied: setuptools in /home/khteh/.local/lib/python3.10/site-packages (61.0.0)
Collecting setuptools
Downloading setuptools-62.2.0-py3-none-any.whl (1.1 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 17.8 MB/s eta 0:00:00
Installing collected packages: setuptools
Attempting uninstall: setuptools
Found existing installation: setuptools 61.0.0
Uninstalling setuptools-61.0.0:
Successfully uninstalled setuptools-61.0.0
Successfully installed setuptools-62.2.0
$ pipenv install
/home/khteh/.local/lib/python3.10/site-packages/pkg_resources/__init__.py:116: PkgResourcesDeprecationWarning: 1.1build1 is an invalid version and will not be supported in a future release
warnings.warn(
/home/khteh/.local/lib/python3.10/site-packages/pkg_resources/__init__.py:116: PkgResourcesDeprecationWarning: 0.1.43ubuntu1 is an invalid version and will not be supported in a future release
warnings.warn(
Installing dependencies from Pipfile.lock (cb1e45)...
Traceback (most recent call last):
File "/home/khteh/.local/bin/pipenv", line 8, in <module>
sys.exit(cli())
File "/usr/local/lib/python3.10/dist-packages/pipenv/vendor/click/core.py", line 1128, in __call__
return self.main(*args, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/pipenv/cli/options.py", line 56, in main
return super().main(*args, **kwargs, windows_expand_args=False)
File "/usr/local/lib/python3.10/dist-packages/pipenv/vendor/click/core.py", line 1053, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python3.10/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.10/dist-packages/pipenv/vendor/click/core.py", line 1395, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python3.10/dist-packages/pipenv/vendor/click/core.py", line 754, in invoke
return __callback(*args, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/pipenv/vendor/click/decorators.py", line 84, in new_func
return ctx.invoke(f, obj, *args, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/pipenv/vendor/click/core.py", line 754, in invoke
return __callback(*args, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/pipenv/cli/command.py", line 222, in install
do_install(
File "/usr/local/lib/python3.10/dist-packages/pipenv/core.py", line 2091, in do_install
do_init(
File "/usr/local/lib/python3.10/dist-packages/pipenv/core.py", line 1335, in do_init
do_install_dependencies(
File "/usr/local/lib/python3.10/dist-packages/pipenv/core.py", line 870, in do_install_dependencies
batch_install(
File "/usr/local/lib/python3.10/dist-packages/pipenv/core.py", line 728, in batch_install
deps_to_install = [
File "/usr/local/lib/python3.10/dist-packages/pipenv/core.py", line 729, in <listcomp>
dep for dep in deps_to_install if not project.environment.is_satisfied(dep)
File "/usr/local/lib/python3.10/dist-packages/pipenv/project.py", line 319, in environment
self._environment = self.get_environment(allow_global=allow_global)
File "/usr/local/lib/python3.10/dist-packages/pipenv/project.py", line 299, in get_environment
environment = Environment(
File "/usr/local/lib/python3.10/dist-packages/pipenv/environment.py", line 70, in __init__
self._base_paths = self.get_paths()
File "/usr/local/lib/python3.10/dist-packages/pipenv/environment.py", line 394, in get_paths
c = subprocess_run(command)
File "/usr/local/lib/python3.10/dist-packages/pipenv/utils/processes.py", line 75, in subprocess_run
return subprocess.run(
File "/usr/lib/python3.10/subprocess.py", line 501, in run
with Popen(*popenargs, **kwargs) as process:
File "/usr/lib/python3.10/subprocess.py", line 966, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "/usr/lib/python3.10/subprocess.py", line 1842, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: '/home/khteh/.local/share/virtualenvs/PythonRestAPI-JI5RzKtM/bin/python'
Why is this closed?
/open
@khteh I can’t reproduce that, are you able to provide a script that does so in a fresh container or VM? The following Dockerfile works for me and uses the latest ubuntu, Python, pipenv==2022.5.2, and setuptools==62.2.0:
FROM ubuntu:22.04
RUN apt update \
&& DEBIAN_FRONTEND=noninteractive apt install -y python3-pip git \
&& rm -rf /var/lib/apt/lists
RUN adduser user1
USER user1
WORKDIR /home/user1
RUN pip install --user pipenv
RUN pip install -U --user setuptools==62.2.0
RUN touch Pipfile && SETUPTOOLS_USE_DISTUTILS=stdlib python3 -m pipenv install
RUN python3 -m pipenv run which python && python3 -m pipenv run python --version
Hi there. Thank you very much for the suggested solution. I'm a big fan of pipenv for professional management of virtual environments, and I had to switch to poetry for a while, which was a pretty awful experience :-)
Ok, what now
I've tried @andrewdotn 's recipe:
sed -i.bak -e "s/var, 'local'/var, 'stdlib'/" ~/.local/lib/python3.10/site-packages/distutils-precedence.pth
after this pipenv works fine, but I get warning message before any command is done:
~ $ pipenv --version
/home/master/.local/lib/python3.10/site-packages/pkg_resources/__init__.py:123: PkgResourcesDeprecationWarning: 0.1.43ubuntu1 is an invalid version and will not be supported in a future release
warnings.warn(
pipenv, version 2022.5.2
My package versions:
setuptools 62.3.2
pip 22.1
pipenv 2022.5.2
OS: Pop!_OS 22.04 (based on Ubuntu 22.04) Python: 3.10.4
I didn't quite understand from the correspondence whether the issue was solved. If issue is solved, please let me know how it can be fixed locally.
Thanks!
@alterclaw what happens if you pin your version of pip to 22.0.4?