Questions tagged «packaging»

打包是一种配置管理过程,涉及捕获在目标系统上安装或卸载软件所需的知识。

5
发行版,distutils,setuptools和distutils2之间的区别?
情况 我正在尝试将开放源代码库移植到Python3。(SymPy,如果有人想知道的话。) 因此,2to3在为Python 3构建时,我需要自动运行。为此,我需要使用distribute。因此,我需要移植当前的系统(根据doctest)是distutils。 问题 不幸的是,我不知道什么是这些模块-之间的区别distutils,distribute,setuptools。该文档最好是粗略的,因为它们似乎都是彼此的分支,旨在在大多数情况下兼容(但实际上并非全部)……等等。 问题 有人可以解释差异吗?我应该用什么?什么是最现代的解决方案?(Distribute顺便说一句,我也很感谢有关向移植的一些指南,但这超出了问题的范围……)

13
在Maven的jar中包含依赖项
有没有办法强制maven(2.0.9)将所有依赖项包含在单个jar文件中? 我有一个构建到单个jar文件中的项目。我希望将依赖项中的类也复制到jar中。 更新:我知道我不能只在jar文件中包含jar文件。我正在寻找一种方法来解压缩指定为依赖项的jar,并将类文件打包到jar中。
353 java  maven-2  jar  packaging 

4
setuptools与distutils:为什么distutils仍然是一回事?
Python就可以用于包装和说明项目工具混淆历史:这些包括distutils标准库中,distribute,distutils2,和setuptools(也许更多)。看来,distribute并distutils2投票赞成的停产setuptools,这让两个相互竞争的标准。 据我所知,setuptools提供了更多的选择(例如,声明依赖项,测试等)distutils,但是它没有包含在Python标准库中(还可以吗?)。 现在推荐《Python打包用户指南》 [ 1 ]: 使用setuptools定义的项目和创建源代码分发。 并说明: 尽管您可以将pure distutils用于许多项目,但它不支持定义对其他项目的依赖关系,并且缺少一些便捷实用程序来自动正确填充所提供的包元数据setuptools。在标准库之外,setuptools还为不同版本的Python提供了更一致的功能集,并且(与不同distutils)setuptools将进行更新,以在所有受支持的版本上生成即将到来的“ Metadata 2.0”标准格式。 即使对于确实选择使用的项目distutils,当pip直接从源代码(而不是从预构建的wheel文件安装)安装此类项目时,它实际上也会使用setuptools来构建您的项目。 但是,查看各种项目的setup.py文件可以发现,这似乎并不是一个实际的标准。许多软件包仍在使用,distutils而那些支持的软件包则setuptools经常setuptools与distutils回退导入结合使用: try: from setuptools import setup except ImportError: from distutils.core import setup 然后尝试找到一种写可以由setuptools和安装的安装程序的方法distutils。由于distutils不支持设置功能中的依赖关系,因此通常包括各种容易出错的依赖关系检查方式。 人们为什么还要付出额外的努力来支持distutils- setuptools标准库中没有的事实是唯一的原因吗?distutils编写仅支持setup.py文件的优点和缺点是什么setuptools?

9
py2exe-生成单个可执行文件
我以为我听说py2exe可以做到这一点,但我从来没有想过。有人成功做到了吗?我可以看到您的setup.py文件以及使用的哪些命令行选项吗? 基本上,我正在考虑给它提供一个可执行文件,该文件可执行将自身解压缩到/ temp并运行的操作。
141 python  packaging  py2exe 

1
如何使用Language.Haskell.Interpreter交付可执行文件?
我希望使用嵌入Haskell解释器,hint以便可以在Haskell中编写插件以与程序一起使用。我不想为我的可执行文件提供整个Haskell平台。 通常,Haskell可执行文件是完全独立的。例如,擦除PATH不会导致问题: $ PATH=. Hello Hello world 但是,runInterpreter如果我擦除了一个使用炸弹的简单测试程序,则PATH: $ PATH=. TryHint GhcException "panic! (the 'impossible' happened)\n (GHC version 7.8.3 for x86_64-apple-darwin):\n\tDynamic linker not initialised\n\nPlease report this as a GHC bug: http://www.haskell.org/ghc/reportabug\n" 环境中必须提供哪些库或可执行文件才能使其正常工作? otool 没有给出太多指导: otool -L TryHint TryHint: /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1213.0.0) /usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current …

10
如何构造包含Cython代码的Python包
我想制作一个包含一些Cython代码的Python包。我的Cython代码运行良好。但是,现在我想知道如何最好地打包它。 对于大多数只想安装软件包的人,我想包括.cCython创建的文件,并安排对其setup.py进行编译以生成模块。然后,用户不需要安装Cython即可安装软件包。 但是对于那些可能想要修改程序包的人,我也想提供Cython .pyx文件,并以某种方式还允许setup.py使用Cython构建它们(因此这些用户将需要安装Cython)。 我应该如何构造软件包中的文件以适应这两种情况? 在用Cython文档提供了一些指导。但这并没有说明如何制作一个setup.py处理Cython情况的单例。
122 python  packaging  cython 

10
如何从源代码构建Debian / Ubuntu软件包?
我有一个程序源(取自cvs / svn / git / ...),我想为其构建Debian / Ubuntu软件包。该软件包位于存储库中,但是: 它是较旧的版本(缺少我需要的功能) 我需要的编译选项与默认选项略有不同。 最简单的方法是什么?我担心两件事 如何检查我是否正确列出了所有依赖项?(通过查看旧版本所依赖的内容,可以得到一些提示,但是可能已添加了新的依赖项。) 如何防止更新系统在更新的回购中安装旧版本? 如何防止系统安装新版本(发布时),覆盖我的自定义软件包?
116 ubuntu  debian  packaging 

6
如何编写setup.py以包含Git存储库作为依赖项
我正在尝试setup.py为我的包裹写东西。我的软件包需要指定对另一个Git存储库的依赖。 这是我到目前为止所拥有的: from setuptools import setup, find_packages setup( name='abc', packages=find_packages(), url='https://github.abc.com/abc/myabc', description='This is a description for abc', long_description=open('README.md').read(), install_requires=[ "requests==2.7.0", "SomePrivateLib>=0.1.0", ], dependency_links = [ "git+git://github.abc.com/abc/SomePrivateLib.git#egg=SomePrivateLib", ], include_package_data=True, ) 当我跑步时: pip install -e https://github.abc.com/abc/myabc.git#egg=analyse 我懂了 找不到满足SomePrivateLib> = 0.1.0要求的版本(来自分析)(来自版本:)找不到SomePrivateLib> = 0.1.0(来自分析)的匹配分布 我究竟做错了什么?

3
如何创建Python Egg文件
我对Python中的鸡蛋文件有疑问。 我有很多按程序包组织的Python代码,我正在尝试创建egg文件。我正在按照说明进行操作,但是它们很常见。 据此,看来我需要有一个setup.py文件。 您能告诉我我需要在setup.py文件中放入什么以及它应该放在哪里吗? 我想足以创建setup.py,然后启动“ setup.py bdist_egg”来获取egg文件。能否请你确认? 是否可以在鸡蛋文件中仅包含.pyc文件? 有了.egg文件,我怎么能从中启动代码而又不像打开包装一样java -jar <jar file>?
91 python  packaging  egg 

3
从Python项目创建一个可执行文件
我想从我的Python项目中创建一个可执行文件。用户无需安装Python就可以下载并运行它。如果我只是分发软件包,则可以使用pip,wheel和PyPI来构建和分发它,但这需要用户具有Python并且知道如何安装软件包。我可以用什么从Python项目中构建一个自包含的可执行文件?

6
如何打包和部署Node.js + express Web应用程序?
我是Node.js编程的新手,我最近使用mongoDB创建了一个示例工作Web应用程序(express,bone和其他免费视图技术)。现在,我正要在暂存环境中部署该应用程序,但我不确定如何打包此应用程序并将其分发。[我可以照顾mongoDb并分别进行设置] 我来自Java世界,在那里我们为可重用的libs创建了jars,并为servlet容器中部署的Web应用程序创建了war / ear软件包。现在在这种情况下,由于node.js本身也充当Web容器,因此如何打包我的Webapp? 使用express构建的打包节点Web应用程序是否有任何标准格式/准则?(是否有用于节点应用程序的类似的jar / war包装系统?) 打包后如何部署?由于它也是它自己的容器,它将成为一个exe吗? PS:到目前为止,我正在考虑将所有必需的源文件手动复制到暂存环境中,并运行npm命令以下载该计算机上的所有依赖项,然后使用“永久”或某种其他机制来运行server.js。(此外,添加某种监视,以防应用程序崩溃并永远失败)我不确定这是否是正确的方法?我确信必须有某种标准化的方法来解决这个问题。

5
是否有创建用于分发Python程序的Debian软件包的标准方法?
有关如何执行此操作的信息很多,但是由于“有多种方法可以给猫换皮”,因此涵盖该过程的所有教程/手册似乎都做出了与其他假设不同的某些假设。教程,我仍然没有设法掌握它。 到目前为止,这是我认为我了解的。 我的最终目标应该是创建“二进制” .deb软件包。由于所有Python程序都是这样的,因此此类软件包将独立于平台(32/64位)。 要创建“二进制”包,我首先需要创建一个源包。 要创建源包,我可以使用CDBS或debhelper。Debhelper是初学者的推荐方法。 创建源程序包的核心是DEBIAN在源目录中的目录中填充许多文件,以阐明需要在何处复制文件,它们受什么版权和许可方案,它们具有什么依赖性等。 如果Python源代码还附带distutils的脚本,则该步骤#4可在很大程度上自动化该dh_make命令。setup.py 现在我的问题是: 我对流程的理解正确吗?有什么我想念的东西,或者我弄错了吗? 步骤5确实让我更困惑:特别是对我来说最模糊的两点是: 如何编写setup.py安装独立程序的脚本? 编辑:通过独立的程序,我指的是节目旨在通过桌面用户使用(而不是一个模块,这是我理解的一样功能的集合被其他软件已经被导入后使用)。在我的特定情况下,我实际上需要两个这样的“程序”:主软件和单独的实用程序(实际上,另一个“程序”应与另一个程序放在同一程序包中)。 这种脚本对DEB包有什么特殊性?官方文档似乎只涉及RPM和Windows内容。 顺便说一句:这些是迄今为止我能找到的最佳信息来源。如果您有什么比这更好的,请分享!:) Ubuntu的Python打包指南 从python setup.py创建一个.deb包(它显示了步骤,但是对它们的解释不足以使我遵循) ShowMeDo视频,有关“从python程序中创建.deb软件包”(它似乎不是最新的,并且-如果我理解正确的话-它将产生供个人使用的软件包,没有依赖项,也没有签名的changelog等使其与Debian政策不兼容的关键数据)。

2
如何制作包含DLL文件的JAR文件?
我购买了一个第三方Java库,其中包括一个JAR文件和两个DLL文件。我编写了自己的Java程序,该程序调用了第三方JAR文件。现在,我的问题是如何将我的所有代码打包到一个包含所有代码以及第三方JAR和DLL的JAR文件中? 我知道SWT就是这种情况。在swt.jar包括DLL文件,但我不知道如何做到这一点,以及如何使其正常工作。
72 java  dll  jar  swt  packaging 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.