使用一个模块安装脚本

时间:2014-08-25 22:56:44

标签: python installation setuptools setup.py

我使用setuptools创建模块安装脚本。 在manual的setuptools模块中,显示了项目directory structure的示例。在这种情况下,模块useful_1的导入将如下所示:from an_example_pypi_project import useful_1。 因此packages file中的指令setup.py也必须包含an_example_pypi_project个包。

如果我想在没有任何包装器的情况下使用useful_1模块并使用简单的指令导入此模块该怎么办:import useful_1?如何查看我的setup.py文件?


例如this is我的setup.py文件的源代码。你怎么看,我想只包括' pyvalid.py'文件,我希望下一个导入结构:from pyvalid import accepts, returns,其中acceptsreturns是模块pyvalid中的类。

在我的设置脚本的指令packages中,我输入了下一个值:['.']。这个解决方案可以解决我的问题,但只是部分解决,因为我遇到了新的麻烦。

  1. 在我遇到这个警告的安装上:

    警告:'。'不是有效的包名;请在setup.py

  2. 中仅使用。分隔的软件包名称
  3. 安装脚本还包含一些不必要的文件:

    /fakepath/site-packages/pyvalid-0.0.2-py3.4.egg-info
    /fakepath/site-packages/pyvalid.py
    /fakepath/site-packages/__init__.py - 不必要的 /fakepath/site-packages/setup.py - 不必要的 /fakepath/site-packages/test.py - 不必要的


  4. 问题:如何使用一个模块创建setup.py脚本?谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

我找到了问题的一个解决方案。我可以创建名为“pyvalid”的包,并在文件__init__.py中定义导入对象。

就我而言,packages文件中的指令setup.py必须如下所示:packages=["pyvalid"]

这种方式允许我使用以下导入结构为项目创建安装脚本:from pyvalid import some_object