如何解决Python setup.py-如何包括共享库
是python打包的新手(但不是python),所以如果问题无处不在,请原谅。
尝试打包一个python模块( project-A ),该模块使用来自另一个目录( lib )的一堆常见脚本。
碰巧了解如何在最终的软件包工件中包含此 lib 目录。
setup.py,工作目录结构以及我如何计划最终软件包安装结构如下所示。
其他几个问题-
- lib 的相对位置在我的工作目录和已安装的软件包之间变化。是否可以在两种情况下都导入而不更改代码?
- 此结构是否更好?还是我应该将与project_A相关的所有内容移到其自己的目录下,这样每个项目都将具有自己的setup.py,MANIFEST,conf目录等。( lib 的位置>保持不变,不确定每个软件包是否应具有自己的测试目录 如果有人在git仓库之外运行
- release = subprocess.check_output失败。在这种情况下是否可以添加默认值?
- 我遇到的一个例子是lib移至
/usr/lib/python3.4/site-packages/project_A/_lib
。喜欢这种方法。任何想法如何在setup.py 中实现
setup.py (当前创建两个包)
setup(
name='project_A',version='0.15',# release is not supported in bdist rpm
#release=subprocess.check_output(["git","rev-list","--count","--first-parent","HEAD"]).rstrip(),# if creating outside git
release="0.0.1",author='foo',author_email='hello@world.com',url='http://www.hello.com',long_description="README.txt",#install_requires=['bottle','requests','supervisor'],# currently not working
#dependency_links = ['https://pypi.python.org/packages/source/b/bottle/bottle-0.12.8.tar.gz'],packages=['project_A'],include_package_data=True,package_data={'images' : ['hello.gif']},data_files=[
#('/etc/init.d/',['project_Actl']),# some startup script
('/var/log/project_A',[]),('/etc/project_A/conf/',['conf/project_A.conf'])
],description="Hello World testing setuptools",tests_require=['pytest'],cmdclass = {
'test': PyTest,'clean': CleanCommand
}
)
Project-A安装目录-
/usr/lib/python3.4/site-packages/project_A
|
|____project_A/
| |
| |____project_A.py
|
|____lib
| |
| |______init__.py
| |____parseArguments.py
| |____setupLogger.py
| |____cleanup.py
Python工作区目录-
.
|____setup.py
|
|____MANIFEST.in
|
|____README.md
|
|____project_A/
| |
| |____project_A.py
|
|____project_B/
| |
| |____project_B.py
|
|____conf/
| |
| |____project_A.conf
| |____project_B.conf
|
|____lib
| |
| |______init__.py
| |____parseArguments.py
| |____setupLogger.py
| |____cleanup.py
|
|
|____images/
| |____hello.gif
|
|____tests
| |
| |____project_A
| | |____test_B_example.py
|
| |____project_B
| | |____test_A_example.py
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。