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 (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...