gtfx
gtfx

Reputation: 313

Pip installs but module is not found

I am trying to install Exscript from github.

pip install -e 'git+git://github.com/knipknap/exscript.git#egg=Exscript'
...
Successfully installed Exscript
Cleaning up..

When i try to load it, python is not able to find it:

python2.7 -c "import Exscript"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: No module named Exscript

But, when i try to install it in the same virtualenv with setup.py it installs and loads successfully.

What am i doing wrong?

Upvotes: 4

Views: 17357

Answers (1)

Hugo Lopes Tavares
Hugo Lopes Tavares

Reputation: 30364

The flag -e means "editable", and what happens behind the scenes is a symlink, and as I see, Exscript uses a directory named src, what is not seen a good practice[1].

So, in order to solve your problem, you have two alternatives:

  1. Remove -e flag
  2. Change Exscript to get rid of src, and use another directory name

Take a look at https://the-hitchhikers-guide-to-packaging.readthedocs.io/en/latest/creation.html#arranging-your-file-and-directory-structure and https://setuptools.readthedocs.io/en/latest/userguide/development_mode.html.

[1]: the good practice is to have the directory as the same name as used when importing the package

Upvotes: 2

Related Questions