With the newest version of pipenv (2018.10.9), pipenv graph
fails with the error message ModuleNotFoundError: No module named 'pipenv'
I expected pipenv graph
to output the dependency graph of the venv.
$ pipenv graph
ERROR: Traceback (most recent call last):
File "c:\\python27\\lib\\site-packages\\pipenv\\vendor\\pipdeptree.py", line 16, in <module>
from pipenv.vendor.pip_shims import get_installed_distributions, FrozenRequirement
ModuleNotFoundError: No module named 'pipenv'
pipenv graph
$ pipenv --support
Pipenv version: '2018.10.9'
Pipenv location: 'c:\\python27\\lib\\site-packages\\pipenv'
Python location: 'c:\\python27\\python.exe'
Python installations found:
3.6.3
: C:\Python36\python.exe
2.7
: C:\Python27\python.exe
2.7
: C:\Users\m.manhertz\.windows-build-tools\python27\python.exe
2.7
: C:\Users\m.manhertz\Envs\tpe\Scripts\python.exe
3.7.0
: C:\Python37\python.exe
PEP 508 Information:
{'implementation_name': 'cpython',
'implementation_version': '0',
'os_name': 'nt',
'platform_machine': 'AMD64',
'platform_python_implementation': 'CPython',
'platform_release': '10',
'platform_system': 'Windows',
'platform_version': '10.0.17134',
'python_full_version': '2.7.12',
'python_version': '2.7',
'sys_platform': 'win32'}
System environment variables:
TMP
TPE_DB_PASSWORD
COMPUTERNAME
VS140COMNTOOLS
USERDOMAIN
TPE_DB_HOST
PSMODULEPATH
PYTHONDONTWRITEBYTECODE
COMMONPROGRAMFILES
PROCESSOR_IDENTIFIER
VBOX_MSI_INSTALL_PATH
PROGRAMFILES
PROCESSOR_REVISION
HOME
SYSTEMROOT
PROGRAMFILES(X86)
COMSPEC
DRIVERDATA
TERM
DJANGO_SETTINGS_MODULE
TEMP
ALLUSERSPROFILE
GITHUB_POSH_GIT
TVT
COMMONPROGRAMFILES(X86)
TPE_DB_NAME
PROCESSOR_ARCHITECTURE
PLINK_PROTOCOL
EDITOR
LOCALAPPDATA
GYP_MSVS_VERSION
HOMEPATH
USERDOMAIN_ROAMINGPROFILE
TPE_SECRET_KEY
ERLANG_HOME
USERNAME
WORKON_HOME
LOGONSERVER
SESSIONNAME
PROGRAMDATA
PYTHONPATH
ONEDRIVE
PATH
PIP_SHIMS_BASE_MODULE
TPE_DB_USER
AWE_DIR
PATHEXT
PIP_PYTHON_PATH
WINDIR
APPDATA
HOMEDRIVE
PROGRAMW6432
SYSTEMDRIVE
NUMBER_OF_PROCESSORS
USERDNSDOMAIN
PROCESSOR_LEVEL
VCTARGETSPATH
GETTEXTCLDRDIR
PYTHON_HOME
GITHUB_GIT
COMMONPROGRAMW6432
OS
PUBLIC
USERPROFILE
Pipenv???specific environment variables:
Debug???specific environment variables:
PATH
: C:\Program Files\Docker\Docker\Resources\bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\Intel\iCLS Client\;C:\ProgramData\Oracle\Java\javapath;C:\Program Files\Intel\iCLS Client\;C:\Python27\;C:\Python27\Scripts;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;c:\Python27\;c:\Python27\Scripts;C:\Program Files\PostgreSQL\9.4\bin;C:\Program Files\PostgreSQL\9.4\lib;C:\Program Files\PostgreSQL\9.4\include;C:\Program Files\Redis\;C:\Program Files (x86)\PuTTY\;C:\HashiCorp\Vagrant\bin;C:\Program Files\Git\cmd;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\nodejs\;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\WINDOWS\System32\OpenSSH\;C:\Users\m.manhertz\AppData\Local\Microsoft\WindowsApps;C:\Users\m.manhertz\Documents\Tools;C:\Users\m.manhertz\AppData\Local\atom\bin;C:\Program Files\gettext-iconv\bin;C:\Program Files (x86)\Sophos\Sophos SSL VPN Client\bin;C:\Users\m.manhertz\AppData\Local\Microsoft\WindowsApps;C:\Users\m.manhertz\AppData\Roaming\npm;C:\Python36\Scripts\;C:\Program Files\PostgreSQL\9.6\bin;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;;C:\Users\m.manhertz\AppData\Local\GitHub\PortableGit_f02737a78695063deace08e96d5042710d3e32db\cmd;C:\Users\m.manhertz\AppData\Local\GitHub\PortableGit_f02737a78695063deace08e96d5042710d3e32db\usr\bin;C:\Users\m.manhertz\AppData\Local\GitHub\PortableGit_f02737a78695063deace08e96d5042710d3e32db\usr\share\git-tfs;C:\Users\m.manhertz\AppData\Local\GitHub\lfs-amd64_1.5.5;C:\Users\m.manhertz\AppData\Local\Apps\2.0\OOH24QXT.R8H\XWTJVPKY.DW1\gith..tion_317444273a93ac29_0003.0003_5794af8169eeff14;C:\Windows\Microsoft.NET\Framework\v4.0.30319\;c:\python27\lib\site-packages\pywin32_system32
EDITOR
: GitPad
Contents of Pipfile
('C:\Users\m.manhertz\Documents\GitHub\demo\Pipfile'):
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[dev-packages]
[packages]
[requires]
python_version = "3.7"
Contents of Pipfile.lock
('C:\Users\m.manhertz\Documents\GitHub\demo\Pipfile.lock'):
{
"_meta": {
"hash": {
"sha256": "7e7ef69da7248742e869378f8421880cf8f0017f96d94d086813baa518a65489"
},
"pipfile-spec": 6,
"requires": {
"python_version": "3.7"
},
"sources": [
{
"name": "pypi",
"url": "https://pypi.org/simple",
"verify_ssl": true
}
]
},
"default": {},
"develop": {}
}
Same here with python 3.6 on linux; Running the import in a python3 shell works:
$ python3
Python 3.6.6 (default, Sep 5 2018, 03:40:52)
[GCC 6.3.0 20170516] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from pipenv.vendor.pip_shims import get_installed_distributions, FrozenRequirement
>>> FrozenRequirement
<class 'pipenv.patched.notpip._internal.operations.freeze.FrozenRequirement'>
>>> get_installed_distributions
<function get_installed_distributions at 0x7f4298e859d8>
>>> import pipenv
>>> pipenv.__version__
'2018.10.9'
It appears that pipenv has transitioned from calling certain functions that are part of the pip API directory, to calling them via a shim which is installed as a submodule of pipenv.
I'm _assuming_ that certain aspects of pipenv's functionality are actually run inside the project virtualenv, and that this includes pipenv graph
.
The problem is that, whereas pip generally is installed in the project virtualenv, pipenv _isn't_, and hence these imports fail. If you do a pipenv run python
and try to do the import, it'll fail.
A (nasty, temporary?) workaround is to install pipenv into the project virtualenv (i.e. pipenv install pipenv
).
Same here with python 3.6 on macOS.
pipenv==2018.5.18 seems to work correctly.
pipenv==2018.10.9
mymac:projectdir user$ pipenv graph
ERROR: Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pipenv/vendor/pipdeptree.py", line 16, in <module>
from pipenv.vendor.pip_shims import get_installed_distributions, FrozenRequirement
ModuleNotFoundError: No module named 'pipenv'
pipenv==2018.7.1, 2018.6.25
mymac:projectdir user$ pipenv graph
ERROR: Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pipenv/vendor/pipdeptree.py", line 17, in <module>
from pip._internal import get_installed_distributions
ImportError: cannot import name 'get_installed_distributions'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pipenv/vendor/pipdeptree.py", line 20, in <module>
from pip import get_installed_distributions, FrozenRequirement
ImportError: cannot import name 'get_installed_distributions'
pipenv==2018.5.18
mymac:projectdir user$ pipenv graph
appdirs==1.4.3
astropy==3.0.4
- numpy [required: >=1.10.0, installed: 1.15.2]
(works correctly)
Note installing pipenv into the virtual environment (by adding to Pipfile) seems to be a workaround.
Unfortunately the accepted pull request introduces a new problem. I鈥檝e pointed it out in a comment #2975 but let me state it here too for completeness:
With this patch, pipenv graph shows me all the packages installed in the same location as pipenv, and not just the packages installed in the project virtualenv.
In other words: If pipenv is installed system-wide, pipenv graph
shows me all the packages installed system-wide. If pipenv is installed using pip install --user
, it shows me all the packages installed in my user space.
Why this issue is closed? pipenv still facing the same problem
Please ensure pip and pipenv version of all virtual environments are consistent with the normal environment,
python3 -m pip install --force-reinstall pip==18.0
python3 -m pip install --force-reinstall pipenv==2018.7.1 --user # --user means will setup in user's directory
Why this issue is closed? pipenv still facing the same problem
I believe there should be not delivered
label or something like that.
@techalchemy, @kennethreitz What do you think?
Same issue here, take @grayguest 's suggestion until the fix is released.
Why this issue is closed? pipenv still facing the same problem
I believe there should be not delivered label or something like that.
@techalchemy, @kennethreitz What do you think?
I think we should keep the issue open.
Why this issue is closed? pipenv still facing the same problem
Also note that even though there is a merged commit, according to @wjv graph
still doesn't work properly.
I'm encountering this problem, as well. Any idea when a new release will be cut to fix this? I'm trying to resolve dependency mismatches and it's really hard without pipenv graph
.
+1, I'm still experiencing this issue.
We don鈥檛 really have the manpower to manage flagging which merged fixes have been released by hand. I鈥檝e asled the other maintainers for final changes but builds are passsing and I鈥檓 planning to release today. I鈥檓 out of town so on a limited schedule, should be in the next 2 hours
pipenv==2018.10.13 released about 4 hours ago. It seems to work correctly :)
The problem @wjv commented above seems to be solved.
I want to show respect to the maintainers for voluntary, hard work,
for providing such a useful, human familiar tool.
Also confirming that this is fixed in pipenv==2018.10.13
. Thanks so much, @tanuk1647 said it best.
Confirming this on pipenv==2018.10.9
. Will try 2018.10.13
now.
I've been running into this problem on Windows 7 tonight, for any pipenv command, using PyCharm or using the command line. It appears that using 2018.10.13 fixes the issue (at least, after doing pip install --upgrade pipenv==2018.10.13
, PyCharm finally started configuring the Pipenv environment; it's still going, but before it would error immediately).
Update: it finally finished, and added all the requirements from my project's Pipfile to the Pipenv environment in PyCharm.
Please ensure pip and pipenv version of all virtual environments are consistent with the normal environment,
```
python3 -m pip install --force-reinstall pipenv==2018.7.1 --user # --user means will setup in user's directory
```
this helped
Most helpful comment
Why this issue is closed? pipenv still facing the same problem