我正在使用ConfigParser来配置我的应用程序,现在我想让它易于分发,同时保持可配置性.
我想我需要一个包含配置文件模板的目录,以及一些生成配置以实际使用这些模板的方法.然后我需要一个存储它的地方,可以在virtualenv,用户主目录等工作.我希望它与普通的Unix软件包的工作方式一样接近,即在其他方面有配置,但在主目录中有覆盖.是否有现成的解决方案,如果没有,我应该在setup.py等中放置什么才能让它像我想要的那样工作?
我希望标准化我们的库,可执行文件和网站的发布机制.
NuGet网站上的所有文档都讨论了发布库,工具和源文件,但在发布完全打包的可执行文件和网站时似乎没有任何关于目录结构的指导.
对此有任何指导或现有惯例吗?
如果我要做些什么,它看起来像:
exe/net40/*.*
website/net40/**/*.*
Run Code Online (Sandbox Code Playgroud) 我正在尝试通过PIP 安装此软件包.它给了我以下错误:
error: package directory 'RTbatch' does not exist
Run Code Online (Sandbox Code Playgroud)
我觉得这很奇怪,因为相关的setup.py并没有提到任何packages变量,只是py_modules.
怎么了?你能帮我吗?
以下是完整输出pip install -e RTbatch:
Obtaining file:///home/chymera/RTbatch
Running setup.py (path:/home/chymera/RTbatch/setup.py) egg_info for package from file:///home/chymera/RTbatch
/usr/lib64/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'heywords'
warnings.warn(msg)
error: package directory 'RTbatch' does not exist
Complete output from command python setup.py egg_info:
/usr/lib64/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'heywords'
warnings.warn(msg)
running egg_info
creating RTbatch.egg-info
writing requirements to RTbatch.egg-info/requires.txt
writing RTbatch.egg-info/PKG-INFO
writing top-level names to RTbatch.egg-info/top_level.txt
writing …Run Code Online (Sandbox Code Playgroud) 我在PyPI中创建了一个名为virtdc的包.我做了一些更改并上传了2个不同的版本0.1.0和0.1.1.现在我通过PyPI Web界面删除了0.1.1版本,并尝试使用相同的版本号重新上传.它给我的错误如下
...
Writing virtdc-0.1.2/setup.cfg
Creating tar archive
removing 'virtdc-0.1.2' (and everything under it)
running register
Registering virtdc to http://pypi.python.org/pypi
Server response (200): OK
running upload
Submitting dist/virtdc-0.1.2.tar.gz to http://pypi.python.org/pypi
Upload failed (400): This filename has previously been used, you should use a different version.
Run Code Online (Sandbox Code Playgroud)
并且PyPI不允许包的4个以上版本.所以我们必须删除一些版本并再次上传.
即使在此上传错误之后,也可以使用第一个内容描述.但是下载链接不可用.你可以在这里找到我的包裹
有人可以帮我吗?谢谢
我发现的有关此主题的任何文档都提到构建 deb 包的“唯一”要求是拥有正确的setup.py(和requirements.txt)。例如,在dh-virtualenv 教程、stdeb 文档和Debian 的 python 库风格指南中。
但现在新的(令人惊奇的)工具,如诗,允许开发(并上传到 PyPI)Python 项目,而无需任何setup.py(此文件和其他几个文件,包括requirements.txt全部被替换pyproject.toml)。我相信flit也允许这样做。
我开发了一个由诗歌管理的 python 项目,并想将其打包到 Ubuntu/Debian 中。我想,作为一种解决方法,我仍然可以编写一个从和 一个文件setup.py中获取其值的文件(使用来自 的值手动编写)。pyproject.tomlrequirements.txtpoetry.lock
但是,有没有办法在没有任何文件的情况下做到这一点setup.py?
我在Hackage上维护了一个带有FFI绑定的库.所以我的Haskell库依赖于相应的C库及其头文件.现在我在.cabal文件中指定外部依赖项,如下所示:
PkgConfig-Depends:
libfoo >= 1.2
Run Code Online (Sandbox Code Playgroud)
它在Linux中对我很有用.但是,我有一个库的用户报告,pkg-config在Windows 上安装相当麻烦,而他更喜欢
Includes:
foo.h
Extra-libraries:
foo
Run Code Online (Sandbox Code Playgroud)
我希望我的库尽可能容易构建,并且不希望强制不严格要求的构建依赖项.但是,我看到Cabal手册建议使用PkgConfig-Depends.
我的问题:
.cabal这样的方式编写文件,它可以使用pkg-config和不使用?pkg-config包含在Haskell平台中(我现在没有Windows机器可以检查)?作为后续如何编写一个setup.py用于与setuptools,分发等一起使用的扭曲/扭曲插件?,如何为扭曲的插件制作debian包?
假设正确编写了setup.py,使用cdbs/python-central/dh_python2应该可以正常工作,但到目前为止我运气不好.
这些工具的诀窍是它们基本上运行'python setup.py install --root ='然后打包最终的'',所以也许一旦上一个问题得到正确回答,那么这个问题就没有实际意义了?
这里有人成功为debian打包了一个扭曲的插件吗?
我正在尝试将jython程序打包到一个可执行jar中,用户只需双击即可运行而无需提前安装jython.最后,我想包含一个我用jar编写的附加库,但是目前我只是尝试打包一个简单的程序并让它从jar运行.
我已经尝试按照"使用Jar方法"部分中的jar说明进行操作:Jython FAQ:使用Jar方法
我还在这里看了25-28幻灯片:Jython Update 2012幻灯片
最后在这里: stackoverflow问题:使用Jython将我的Python脚本分发为Jars
我在运行OS X 10.8.3的mac上安装了jython 2.5.3,jvm 1.6和python 2.7.3.
这些是我创建jar并运行它的步骤:
zip -r jython_copy.jar Lib (其中Lib是jython安装目录中的文件夹)cp myJythonProgram.py __run__.py(myJythonProgram.py不包含'if name == main '行)zip jython_copy.jar __run__.pyexport CLASSPATH=/path/to/my/app/jython_copy.jar:$CLASSPATH我尝试使用以下三种方法运行jar:
java org.python.util.jython -jar myapp.jarjava -cp myapp.jar org.python.util.jython -jar myapp.jarjava -jar myapp.jar -jar myapp.jar如果我的程序不使用任何import语句,则此方法有效.
但是我遇到了一个问题,当我运行jar时无法找到一些python包.例如,当我from random import random在程序中包含该行时,我收到错误"ImportError:No module called random" .从javax.swing,java.awt,time或math导入时,程序中的行不会发生错误.
另外,我尝试用我的库和一个jython程序打包一个jar,它使用前面的步骤导入我的库以及以下附加步骤:
zip jython_copy.jar myLibrary.jarjar ufm jython_copy.jar othermanifest.mfothermanifest.mf只包含该行Class-Path: ./myLibrary.jar.
这也给出了错误"ImportError:No module named myLibrary"
如果我对错误或我应该采取的其他步骤有所了解,我将不胜感激. …
在异构环境中打包和部署服务器端java软件1)的现代替代方案2)?
我找不到关于这个主题的大量连贯或最新信息,但我有一些想法.我会开始的
war文件捆绑到ear(Enterprise archives)文件中
war可以从一个可执行文件中提供多个传统文件.第一个选项一直是我的参考方法,但是需要大量的配置,安装脚本,这些脚本在不同的环境(例如,Linux,Windows)上有所不同.
哪些现代替代品使包装和部署更容易?
1)想象一下像微服务,RESTful通信等的SOA设置
.2)考虑到这一点,我们排除了PaaS诸如cloudbees,cloudfoundy等提供商.他们应该得到自己的主题.
最初的问题,Debian的Packaging Go应用程序是在三年前被问到的,当时Go是静态链接可执行文件.
现在,使用新的Go 1.5版本,其发行说明如下:
对链接器的更改允许将Go包作为共享库分发以链接到Go程序,并将Go包构建到可能链接到C程序或由C程序加载的存档或共享库中
我前往Debian GoPackaging wiki,但只是发现它还没有更新到Go 1.5,也许wiki没有被维护,或者可能不是,但是,
我只是想知道,如果我想打包一个除了官方Go包之外什么都没有的工具,我应该如何利用共享库,而不是将我的应用程序构建成一个庞大的静态链接可执行文件?
我知道官方答案可能需要一些时间,但我可以等一下.
感谢Braiam的回答,我动了一下.
我按照博客的步骤head -100 debian/**/*,但我的输出完全不同于博客.我的就是以下几点.任何人都知道为什么以及如何解决?
$ head -100 debian/**/*
3.0 (quilt)
Run Code Online (Sandbox Code Playgroud)我试图跑,gbp buildpackage --git-pbuilder但碰到了错误:
gbp:info: Building with (cowbuilder) for sid
Base directory /var/cache/pbuilder/base.cow does not exist
gbp:error: 'git-pbuilder' failed: it exited with 1
Run Code Online (Sandbox Code Playgroud)我检查并确认我已安装cowbuilder并pbuilder安装:
ii cowbuilder amd64 pbuilder running on cowdancer
ii pbuilder all personal package builder for Debian packages
Run Code Online (Sandbox Code Playgroud)怎么了?pbuilder当我用Docker构建Debian/Ubuntu包时, …