从 PYPI 导入包

Import package from PYPI

我使用来自 PYPI (https://pypi.python.org/pypi) 的 "pip install xxx"。然后我输入"import xxx",它可以毫无问题地导入包。

但是,当我将我的包上传到 PYPI 时,然后我输入 "import xxx",它无法导入包。它说 "ImportError, no module named xxx"。

我觉得是因为这个包不是我当前目录?如果是,我在上传包到PYPI时应该如何避免这个问题?谢谢

您的包裹不包含任何(有效的)Python 包裹。 Python 包根据定义必须有一个 __init__.py。只需在 mypackagemx3292016 文件夹中放置一个空的 __init__.py

不过,我建议不要使用包,而只使用单个模块。当您需要将多个模块组合在一起时,一个包很管用。 simple example from distutils docs 展示了如何列出各个模块。

在安装方面,您需要与任何其他包完全相同:

pip install mypackagemx3292016

如果你想避免每次将新版本上传到 pypi 时都必须这样做的麻烦,你可以对本地副本进行符号链接:

pip install -e /path/to/mypackagemx3292016

如果这不起作用,则可能是您的 setup.py 有问题。