运行pip安装-e后出现python ModuleNotFoundError。
我正在尝试编译并安装以下系统范围的python包: (请注意,模块的运行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
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
|- ...