运行pip安装-e后出现python ModuleNotFoundError。

运行pip安装-e后出现python ModuleNotFoundError。,python,pip,distutils,Python,Pip,Distutils,我正在尝试编译并安装以下系统范围的python包: (请注意,模块的init.py位于名为python的文件夹中) 所以我在回购协议的基础上 pip install -e . 我得到: zongo@zongo-HP-EliteBook-840-G3:~/workspace/BlitzL1$ pip install -e . Obtaining file:///home/zongo/workspace/BlitzL1 Installing collected packages: blitzl1

我正在尝试编译并安装以下系统范围的python包:

(请注意,模块的
init.py
位于名为
python
的文件夹中)

所以我在回购协议的基础上

pip install -e .
我得到:

zongo@zongo-HP-EliteBook-840-G3:~/workspace/BlitzL1$ pip install -e .
Obtaining file:///home/zongo/workspace/BlitzL1
Installing collected packages: blitzl1
  Running setup.py develop for blitzl1
Successfully installed blitzl1

zongo@zongo-HP-EliteBook-840-G3:~/workspace/BlitzL1$ ipython
Python 3.6.6 | packaged by conda-forge | (default, Jul 26 2018, 09:53:17) 
Type 'copyright', 'credits' or 'license' for more information
IPython 7.0.1 -- An enhanced Interactive Python. Type '?' for help.

In [1]: import blitzl1                                                                               
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-1-8bb5a22c28e9> in <module>
----> 1 import blitzl1

ModuleNotFoundError: No module named 'blitzl1'

使导入包成为可能。为什么第一个不起作用

顺便说一下:

zongo@zongo-HP-EliteBook-840-G3:~/workspace/BlitzL1$ which pip
/home/zongo/anaconda3/bin/pip

这是由于当包目录与
setup.py
不在同一文件夹中时,
pip
在开发模式下安装包时出现了一个长期问题。有关更多信息,请参阅

更清楚地说,如果包名是my_package,并且源的结构是:

|- setup.py
|- src
  |- __init__.py
  |- ...
使用
package_dir={'my_package':'src'}
,使用
pip install-e.
python setup.py develope安装包将引发OP报告的错误。
缓解这种情况的一种方法是更改为
package_dir={'':'src'}
,并将回购协议的结构更改为

|- setup.py
|- src
  |- mypackage
     |- __init__.py
     |- ...
|- setup.py
|- src
  |- __init__.py
  |- ...
|- setup.py
|- src
  |- mypackage
     |- __init__.py
     |- ...