【问题标题】:ImportError: Package installed from Git using pip not found by PythonImportError:使用 Python 未找到的 pip 从 Git 安装的包
【发布时间】:2018-03-02 23:19:06
【问题描述】:

我正在尝试使用 pip 从远程 Git 存储库安装包。安装似乎工作正常:

$ pip install git+https://github.com/<me>/<mypackage>.git
...
Installing collected packages: <mypackage>
    Running setup.py install for <mypackage> ... done
Successfully installed <mypackage>-1.0.0.dev1
$ pip freeze | grep <mypackage>
<mypackage>==1.0.0.dev1
ls ls /usr/local/lib/python2.7/site-packages | grep <mypackage>
<mypackage>-1.0.0.dev1-py2.7.egg-info

但是包导入失败:

$ python
>>> import <mypackage>
Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
ImportError: No module named <mypackage>
>>>

我已经能够成功安装并从本地版本导入:

$ pip install -e <path-to-mypackage>

但我希望能够通过 git 安装它。

在什么情况下一个包(显然)可以成功 pip 安装,但不能被 Python 导入?

我的模块结构是:

<mypackage>
    setup.py
    <mypackage>
        __init__.py
        # some files

我正在运行 OS X 10.11.6 和安装了 brew 的 Python 2.7.13 和 pip 版本。

【问题讨论】:

  • /usr/local/lib/python2.7/site-packages/mypackage/ 存在吗?我猜你的 setup.py 错过了一些包定义。
  • 能否提供which pythonwhich pippip --version的输出?
  • which python 输出/usr/local/bin/pythonwhich pip 输出/usr/local/bin/pippip --version 输出pip 9.0.1 from /usr/local/lib/python2.7/site-packages (python 2.7)

标签: python git python-2.7 installation pip


【解决方案1】:

您克隆的存储库不是python包,而是包含该包的文件夹。

要导入包,只需 cd 到内部的 my&lt;mypackage&gt; 文件夹,然后尝试导入它。但这不是一个好主意,您可以运行外部 &lt;mypackage&gt;folder 中包含的 setup.py 文件来为您设置所有内容。这也会(通常)将包添加到环境变量中,以便您可以导入它从任何地方。

【讨论】:

  • 谢谢。运行pip install $PATH-TO-PACKAGE 后,我能够成功导入包。但我希望能够通过从 git 存储库而不是从本地目录安装来将其安装在其他机器上。我已经编辑了我的问题,希望现在更清楚。
猜你喜欢
  • 2021-01-02
  • 2018-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-24
  • 2017-04-11
  • 2021-05-18
  • 2019-10-17
相关资源
最近更新 更多