努力通过PyPi访问Python模块

时间:2015-07-10 13:12:28

标签: python pip pypi

我写了一个简单的Python接口,用于一段时间后使用Pushwoosh通知服务,这是https://github.com/Astutech/Pushwoosh-Python-library,我终于发布了它,因此可以使用Pip进行安装。这是我第一次向PyPi发布Python库,我有点混乱。

尝试安装它会出现以下错误:

Collecting pushwoosh
  Using cached pushwoosh-1.0.0.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 20, in <module>
      File "/tmp/pip-build-5m3jj7uu/pushwoosh/setup.py", line 17, in <module>
        with open(path.join(here, 'DESCRIPTION.rst'), encoding='utf-8') as f:
      File "/usr/lib/python3.4/codecs.py", line 896, in open
        file = builtins.open(filename, mode, buffering)
    FileNotFoundError: [Errno 2] No such file or directory: '/tmp/pip-build-5m3jj7uu/pushwoosh/DESCRIPTION.rst'

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-5m3jj7uu/pushwoosh

它看起来像某种路径相关的问题。我不确定pushwoosh.py是否在正确的位置。但是,如果我将其移至pushwoosh/pushwoosh.py,并添加pushwoosh/__init__.py文件,则需要按如下方式导入:

from pushwoosh.pushwoosh import Pushwoosh

这显然不太理想。从文档中我看不出我出错的地方。我应该使用哪种目录布局?

编辑:我现在已经解决了DESCRIPTION.rst的问题,但除非我将pushwoosh.py文件移到pushwoosh文件夹并添加__init__.py文件,否则安装库实际上并没有安装pushwoosh.py所以它不起作用。如何修改它以便我可以像这样导入它?

from pushwoosh import Pushwoosh

2 个答案:

答案 0 :(得分:0)

最终计算出来。如果您将文件作为module_name放在__init__.py文件夹中,它就可以。

答案 1 :(得分:0)

你可以把它放到你的__init__py文件中。

from pushwoosh import Pushwoosh

这使您无需将所有内容打包到 init .py文件中即可进行此类导入。

from pushwoosh import Pushwoosh

有一个很好的解释,请查看这篇文章http://mikegrouchy.com/blog/2012/05/be-pythonic-__init__py.html