我使用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
,其中accepts
和returns
是模块pyvalid
中的类。
在我的设置脚本的指令packages
中,我输入了下一个值:['.']
。这个解决方案可以解决我的问题,但只是部分解决,因为我遇到了新的麻烦。
在我遇到这个警告的安装上:
警告:'。'不是有效的包名;请在setup.py
安装脚本还包含一些不必要的文件:
/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
- 不必要的
问题:如何使用一个模块创建setup.py
脚本?谢谢你的帮助。
答案 0 :(得分:0)
我找到了问题的一个解决方案。我可以创建名为“pyvalid”的包,并在文件__init__.py
中定义导入对象。
就我而言,packages
文件中的指令setup.py
必须如下所示:packages=["pyvalid"]
。
这种方式允许我使用以下导入结构为项目创建安装脚本:from pyvalid import some_object
。