pipenv graph fails: No module named 'pipenv'

Created on 9 Oct 2018  路  18Comments  路  Source: pypa/pipenv

Issue description

With the newest version of pipenv (2018.10.9), pipenv graph fails with the error message ModuleNotFoundError: No module named 'pipenv'

Expected result

I expected pipenv graph to output the dependency graph of the venv.

Actual result

$ 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'

Steps to replicate

  • Install version 2018.10.9 of pipenv.
  • Run 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": {}
}

Most helpful comment

Why this issue is closed? pipenv still facing the same problem

All 18 comments

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

Was this page helpful?
0 / 5 - 0 ratings

Related issues

jakul picture jakul  路  3Comments

fbender picture fbender  路  3Comments

konstin picture konstin  路  3Comments

jerzyk picture jerzyk  路  3Comments

jacek-jablonski picture jacek-jablonski  路  3Comments