如何 pip 安装本地 python 包?
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 是来自一个安装的 运行,而您正在尝试使用另一个安装的软件包。另见:
- What's the difference between pip install and python -m pip install?
- https://docs.python.org/3/installing/#basic-usage
问题集中在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 给出了这种情况的答案。
问题
我使用
安装了一个名为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 是来自一个安装的 运行,而您正在尝试使用另一个安装的软件包。另见:
- What's the difference between pip install and python -m pip install?
- https://docs.python.org/3/installing/#basic-usage
问题集中在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 给出了这种情况的答案。