[英]How to pip install a local python package?
題
我安裝了一個名為credentials
的本地包
pip install -e c:\users\worker\src\clockwork\lib\credentials
但是當我嘗試從兄弟目錄導入包時,它會因ImporError而失敗:
cd c:\users\worker\src\clockwork\bank
python -c "import credentials"
...
ImportError: No module named 'credentials'
令人困惑的是,當我運行pip list
時,包credentials
被列為已成功安裝,如下所示:
...
credentials (1.0.0, c:\users\worker\src\clockwork\lib\credentials)
...
如何安裝本地軟件包以便可以導入?
背景
我使用的是Python 3.4(32位)。 該軟件包包含兩個文件:
credentials\__init__.py
credentials\setup.py
__init__.py
文件定義了一個函數。 setup.py
文件很簡短:
from distutils.core import setup
setup(name='credentials', version='1.0.0')
解決方法
我目前將包含該包的目錄( c:\\users\\worker\\src\\clockwork\\lib
)添加到我的PATH
變量中作為解決方法。 但我的問題是如何正確安裝軟件包,以便我不需要修改PATH
。
卸載python包,然后使用以下命令安裝它:
python -m pip install -e c:\users\worker\src\clockwork\lib\credentials
可能發生的事情是你有多個python安裝,並且當你試圖從另一個安裝使用包時,從一個安裝運行pip。 也可以看看:
問題集中在setup.py
。 它需要聲明一個包:
from distutils.core import setup
setup(name='credentials', version='1.0.0', packages=['credentials'])
但是這個setup.py
必須位於credentials
包的父目錄中,所以最后,目錄結構是:
...\credentials\setup.py
...\credentials\credentials\__init__.py
通過此更改,在重新安裝軟件包后找到該模塊。
這也可能是由兩個Python安裝引起的(但不是我的情況),而@Mr_and_Mrs_D給出了這種情況的答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.