pipenv: Unable to install package in container
I was troubleshooting an opened bug (https://github.com/pypa/pipenv/issues/1639) that I seem to have run into. In trying to reproduce it, it seems like i bumped into another issue.
This looks similar to the closed https://github.com/pypa/pipenv/issues/1441 issue, however, the command virtualenv --python=python3 myenv
did not error out as anticipated in the comments.
Expected result
I expected to see a Pipfile
and Pipfile.lock
in the /tmp/test1
directory.
Actual result
Saw the strack trace above.
Steps to replicate
saviles ~ 1 docker run --rm -ti fedora:27 /bin/bash
[root@0958ee759ab3 /]# dnf install -qy which
install-info: No such file or directory for /usr/share/info/which.info.gz
[root@0958ee759ab3 /]# pip3 install --user pipenv
WARNING: Running pip install with root privileges is generally not a good idea. Try `pip3 install --user` instead.
Collecting pipenv
Downloading pipenv-11.2.0.tar.gz (4.1MB)
100% |████████████████████████████████| 4.1MB 412kB/s
Collecting setuptools>=36.2.1 (from pipenv)
Downloading setuptools-38.5.2-py2.py3-none-any.whl (490kB)
100% |████████████████████████████████| 491kB 2.3MB/s
Collecting virtualenv (from pipenv)
Downloading virtualenv-15.1.0-py2.py3-none-any.whl (1.8MB)
100% |████████████████████████████████| 1.8MB 810kB/s
Collecting virtualenv-clone>=0.2.5 (from pipenv)
Downloading virtualenv_clone-0.3.0-py2.py3-none-any.whl
Installing collected packages: setuptools, virtualenv, virtualenv-clone, pipenv
Running setup.py install for pipenv ... done
Successfully installed pipenv-11.2.0 setuptools-38.5.2 virtualenv-15.1.0 virtualenv-clone-0.3.0
[root@0958ee759ab3 /]# mkdir /tmp/test1
[root@0958ee759ab3 /]# cd /tmp/test1
[root@0958ee759ab3 test1]# python3 -m pipenv install requests
Warning: the environment variable LANG is not set!
We recommend setting this in ~/.profile (or equivalent) for proper expected behavior.
Creating a virtualenv for this project…
⠋Using base prefix '/usr'
New python executable in /root/.local/share/virtualenvs/test1-MiVIN7Yf/bin/python3
Also creating executable in /root/.local/share/virtualenvs/test1-MiVIN7Yf/bin/python
Installing setuptools, pip, wheel...done.
Virtualenv location:
Creating a Pipfile for this project…
Traceback (most recent call last):
File "/usr/lib64/python3.6/runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "/usr/lib64/python3.6/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/root/.local/lib/python3.6/site-packages/pipenv/__main__.py", line 4, in <module>
cli()
File "/root/.local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 722, in __call__
return self.main(*args, **kwargs)
File "/root/.local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 697, in main
rv = self.invoke(ctx)
File "/root/.local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/root/.local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/root/.local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/root/.local/lib/python3.6/site-packages/pipenv/cli.py", line 197, in install
selective_upgrade=selective_upgrade
File "/root/.local/lib/python3.6/site-packages/pipenv/core.py", line 1767, in do_install
ensure_project(three=three, python=python, system=system, warn=True, deploy=deploy, skip_requirements=skip_requirements)
File "/root/.local/lib/python3.6/site-packages/pipenv/core.py", line 688, in ensure_project
ensure_pipfile(validate=validate, skip_requirements=skip_requirements)
File "/root/.local/lib/python3.6/site-packages/pipenv/core.py", line 341, in ensure_pipfile
project.create_pipfile(python=python)
File "/root/.local/lib/python3.6/site-packages/pipenv/project.py", line 439, in create_pipfile
data[u'requires'] = {'python_version': python_version(self.which('python'))[:len('2.7')]}
TypeError: 'NoneType' object is not subscriptable
[root@0958ee759ab3 test1]# python3 -m pipenv.help
Pipenv version: '11.2.0'
Pipenv location: '/root/.local/lib/python3.6/site-packages/pipenv'
Python location: '/usr/bin/python3'
Other Python installations in PATH
:
-
3.6
:/usr/bin/python3.6m
-
3.6
:/usr/bin/python3.6
-
3.6
:/bin/python3.6
-
3.6.2
:/usr/bin/python3
-
3.6.2
:/bin/python3
PEP 508 Information:
{'implementation_name': 'cpython',
'implementation_version': '3.6.2',
'os_name': 'posix',
'platform_machine': 'x86_64',
'platform_python_implementation': 'CPython',
'platform_release': '4.15.6-300.fc27.x86_64',
'platform_system': 'Linux',
'platform_version': '#1 SMP Mon Feb 26 18:43:03 UTC 2018',
'python_full_version': '3.6.2',
'python_version': '3.6',
'sys_platform': 'linux'}
System environment variables:
LS_COLORS
HOSTNAME
PWD
HOME
FBR
DISTTAG
FGC
TERM
SHLVL
PATH
_
OLDPWD
LC_CTYPE
PIP_PYTHON_PATH
Pipenv–specific environment variables:
Debug–specific environment variables:
PATH
:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD
:/tmp/test1
Contents of Pipfile
(‘/tmp/test1/Pipfile’):
[root@0958ee759ab3 test1]# envname
bash: envname: command not found
[root@0958ee759ab3 test1]# virtualenv --python=python3 myenv
bash: virtualenv: command not found
[root@0958ee759ab3 test1]# python3 -m virtualenv --python=python3 myenv
Already using interpreter /usr/bin/python3
Using base prefix '/usr'
New python executable in /tmp/test1/myenv/bin/python3
Also creating executable in /tmp/test1/myenv/bin/python
Installing setuptools, pip, wheel...done.
[root@0958ee759ab3 test1]# ls
Pipfile myenv
[root@0958ee759ab3 test1]#
(Edit: Formatting)
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Comments: 31 (18 by maintainers)
Commits related to this issue
- Always find a real python path for pipfiles - Fixes #1648, 1610 — committed to pypa/pipenv by techalchemy 6 years ago
- Fix virtualenv location reporting - Fixes #1648 (again) — committed to pypa/pipenv by techalchemy 6 years ago
Don’t use Docker? 😃
I am still seeing this issue on python:3.6 docker. Is there a fix released, or a quick fix a user can do?
I am tring to install dependencies, but even a
pipenv shell
from fresh doesn’t seem to work for me.🎉 we can occasionally fix things!
also don’t use
--system
to install single packages, this is meant to be disabled but is accidentally alloweddon’t use
--system
to create pipfiles, dependency graphs can only be resolved in an isolated environment