Pip installs but module is not found
Asked Answered
T

1

4

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?

Thereby answered 13/5, 2012 at 6:46 Comment(2)
You checked the site.packages folder if it is installed there?Alike
Is pip leaving an src folder in the current directory. As far as I can see, pip is failing to install the package in site-packages and just leaving an egg link over there. Strange...Bussard
C
2

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

Cowslip answered 18/5, 2012 at 16:58 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.