Pipenv: ModuleNotFoundError: No module named 'XXXXX'. version 2018.6.25

Created on 26 Jun 2018  路  13Comments  路  Source: pypa/pipenv

After updating to version: 2018.6.25. I get the error as shown in the image attached. facematic is the package name in setup.py. I get the error while running the command pipenv install -e .

screen shot 2018-06-26 at 02 56 04

Steps to replicate
  1. Get a python package
  2. Run pipenv install -e .
Type Regression Vendored Dependencies

Most helpful comment

Thanks for the reports all, fix will be out shortly

All 13 comments

On a different package. This time I used the command pipenv install --dev

screen shot 2018-06-26 at 03 10 01

I've had the same error after upgrading to v2018.6.25.

Could you share your setup.py?

Hi @ikosenn, thanks for using pipenv! In addition to the setup.py can we see the directory structure?

I'm having the exact same issue:

ModuleNotFoundError: No module named 'versioneer'

See https://gist.github.com/seglberg/97c47832d2997d47b345c189fbb1aad4

@seglberg is your repo public and something I could pull down for testing? I can't seem to replicate the issue.

No, it is private. I can create a sample repository that reproduces the error. Hang tight.

I would first point out it is against best practice to import your library in its setup.py. It creates a chicken-egg problem鈥擴sually the user cannot import dependencies before your package is installed, but without running setup.py pip cannot resolve dependencies for the user.

I would recommend adopting on of the top solutions mentioned in the Python Packaging User Guide.

See https://github.com/seglberg/pipenv-repro
pipenv install fails inside the python directory

We are not importing any of the package's modules inside setup, we import a top-level, standalone module which generates our version information. My initial thought is that its a python path issue.

Ah, I see, sorry for the misunderstanding. Indeed this seems to be a path issue. Also we should probably be more resilient when reading the package name.

If I modify my setup.py, it works:

HERE = os.path.dirname(os.path.abspath(__file__))
sys.path.append(HERE)
import versioneer

So definitely a path issue.

Thanks for the reports all, fix will be out shortly

Well done for getting a fix in the master out so quickly.

Was this page helpful?
0 / 5 - 0 ratings