草庐IT

PACKAGING

全部标签

windows - 如何在 .cabal 中指定对外部 C 库的依赖?

我在Hackage上维护一个带有FFI绑定(bind)的库。所以我的Haskell库依赖于相应的C库及其头文件。现在我在.cabal文件中指定外部依赖,如下所示:PkgConfig-Depends:libfoo>=1.2它在Linux中对我来说效果很好。但是,我有一个库的用户报告说,在Windows上安装pkg-config相当麻烦,相反他更喜欢Includes:foo.hExtra-libraries:foo我希望我的库尽可能易于构建,并且不想强制构建并非严格要求的依赖项。但是,我看到Cabalmanual建议使用PkgConfig-Depends。我的问题:对于跨平台包,我应该更喜

java - 多模块 Maven 项目中的 log4j 配置文件

我正在做一个多模块的Maven项目,它的结构是这样的:war-modulejar-modulewar-module依赖于jar-module,打包后会将jarartifact添加到webapp的lib目录下。并且war-module和jar-module都使用Apachelog4j进行日志记录,共享同一个log4j配置文件(log4j.xml),目前位于jar-module项目中。而这个log4j.xml会被打包成jar-module.jar文件,不过我想把它放到war包的WEB-INF/classes目录下,而不是放在jar文件里,这样用户会很容易找到这个配置文件并在必要时修改它(如

python - setuptools.find_packages 中的 "where"参数是什么?

在一个python项目上,我试图将源代码和单元测试分开;这是项目结构:MyProject/MANIFEST.inREADME.mdsetup.pysource/__init.py__my_project/__init.py__some_module.pytest/__init.py__my_project/__init.py__test_some_module.py这里是setup.py文件:fromsetuptoolsimportsetup,find_packagessetup(name='my_project',packages=find_packages(where='./sou

相当于 uber-jar 的 Python

我正在寻找python世界中相当于uber-jar的东西。我需要将python包分发到所有三个主要平台(Windows、Mac、Linux)。它必须与其所有依赖项捆绑在一起,因为目标平台可能没有互联网。它必须是跨平台发行版,所以我不必为多个目标构建。也就是说,我应该能够像这样在所有平台上运行它:pythonpackage.ext您可以假设该包是纯python(无native代码)。有什么东西可以满足这些要求吗?我知道以下选项,每个选项都有缺陷:.whl包需要pip进行安装。我不知道如何创建包含所有包依赖项的.egg。此PEP:http://legacy.python.org/dev/p

python - 如何在 pip 安装期间编译 C++ 依赖项?

我想让我的python代码可pip。但是,我的代码依赖于另一个不可pip的库。因此,当用户调用pipinstall时,我需要以某种方式编译源代码。我该怎么做?我无法通过简单的Google搜索找到好的引用。 最佳答案 我建议您看一下llvmlite如何解决这个问题。这个想法是在调用其他构建系统的setup.py中使用自定义cmdclass。例如,在llvmlite中,他们调用CMake。参见:https://github.com/numba/llvmlite/blob/master/setup.py

python - 如何在 Django 应用程序的 setup.py 中编译 gettext 翻译

我如何确保setup.py编译项目PO文件并在创建sdist时包含它们。这是一个Django应用程序,生成MO文件的手动过程是在应用程序的根目录中运行以下命令:django-admincompilemessages(这意味着比setup.py更深一层)我想避免每次都手动编译MO文件。而且我根本不想将它们存储在存储库中。 最佳答案 我的简单解决方案(从Trac那里得到了一些想法):#!/usr/bin/envpythonfromsetuptoolsimportsetup,find_packagesfromsetuptools.comm

python - 有哪些工具可用于构建用于部署目的的 debian 软件包?

我想构建我的应用程序的.deb文件,这样我就可以部署到远程服务器上,使用Debian的所有依赖项解析功能。我的应用程序是一组主要是Python的脚本,加上一些配置文件和一些二进制blob,但大多数讨论源和二进制包的现有文档似乎都是围绕需要编译的C应用程序。我应该查看哪些工具? 最佳答案 基础知识在这里:https://help.ubuntu.com/community/PythonRecipes/DebianPackage还有一种使用stdeb的更自动化的方式,python的distutils的扩展或pgkme,它有点新,但更面向u

python - 如何使用静态文件正确打包 Flask 应用程序

我正在尝试为webapp(基于flask)创建一个python包,我想在已知目录中安装一些文件。例如,当运行集成服务器(基于粘贴)时,flask会尝试在当前包中查找templates和static目录。但在生产中,我宁愿将这些目录安装在更具体的位置,如virtualenv/share/package-name/{static,templates}。否则它们将位于lib/python-2.x/...下的某个地方,这似乎不合适。我尝试使用setup.py中的data_files参数安装文件,但这似乎对整棵树没有用(错误:无法复制“xxx”:不存在或不是常规文件)。在这种情况下,正确的解决方

python - PyPI 上的开发版本

在this2011post,有人认为不应将开发版本上传到PyPI。现在(2013年5月)还是这样吗?如果没有,分发Python包的开发版本的建议方法是什么。 最佳答案 这仍然不是将包开发版本上传到PyPI的好习惯。比如Django,它在PyPI上只有稳定版(yolk-Vdjango):Django1.5.1Django1.5Django1.4.5Django1.4.4Django1.4.3Django1.3.7Django1.3.6Django1.3.5Django1.2.7Django1.1.4Django1.0.4lxml(Py

python - 发布一个 python 包——你应该包括文档和测试吗?

所以,我在pypi上发布了一个小型库,更多的是作为练习(“看看它是如何完成的”)而不是其他任何东西。我已经在readthedocs上上传了文档,并且我的git存储库中有一个测试套件。因为我认为任何可能对运行测试感兴趣的人都可能只是克隆repo,并且文档已经在线可用,所以我决定不在发布的包中包含doc和测试目录,我只是想知道如果那是该做的“正确”事情。我知道这个问题的答案会相当主观,但我觉得这是一个很好的提问场所,可以了解社区认为什么是最佳实践。 最佳答案 这不是必需的,但建议在包中包含文档和单元测试。关于文档:老式的或更好的说法是开