标签: python-pbr

安装pbr时出错

我想在运行OSX 10.8.5的机器上安装openstack客户端.作为先决条件,我需要安装pbr.所以,我做了以下几点

git clone git://github.com/openstack-dev/pbr.git
cd pbr
sudo python setup.py install
Run Code Online (Sandbox Code Playgroud)

但我得到以下错误跟踪

Traceback (most recent call last):
  File "setup.py", line 22, in <module>
    **util.cfg_to_args())
  File "/Users/jimcgh/dev/pbr/pbr/util.py", line 241, in cfg_to_args
    pbr.hooks.setup_hook(config)
  File "/Users/jimcgh/dev/pbr/pbr/hooks/__init__.py", line 27, in setup_hook
    metadata_config.run()
  File "/Users/jimcgh/dev/pbr/pbr/hooks/base.py", line 29, in run
    self.hook()
  File "/Users/jimcgh/dev/pbr/pbr/hooks/metadata.py", line 28, in hook
    self.config['name'], self.config.get('version', None))
  File "/Users/jimcgh/dev/pbr/pbr/packaging.py", line 817, in get_version
    version = _get_version_from_git(pre_version)
  File "/Users/jimcgh/dev/pbr/pbr/packaging.py", line 776, in _get_version_from_git
    "git --git-dir=\"" + git_dir + "\" describe --always").replace(
  File "/Users/jimcgh/dev/pbr/pbr/packaging.py", line …
Run Code Online (Sandbox Code Playgroud)

python macos openstack python-pbr

6
推荐指数
1
解决办法
4209
查看次数

使用 pbr 时如何将 git repo 作为依赖项包含在内

我正在使用pbr,它使用一个requirements.txt文件来查找依赖项。

我有一个线requirements.txt一样git+ssh://git@github.com/user/repo.git,当我运行它的工作原理pip install -r requirements.txt

但是,当我运行时,我遇到python setup.py build了错误:

error in setup command: 'install_requires' must be a string or list of strings containing valid project/version requirement specifiers; Invalid requirement, parse error at "'+ssh://g'"
Run Code Online (Sandbox Code Playgroud)

许多堆栈溢出回答使用时解决这一问题专门setuptools和他们都建议把Git的依赖到dependency_links列表中setup.py

我希望 pbr 能够直接处理我的 Git 依赖项requirements.txt,这种方式在我同时运行python setup.py buildpip install -r requirements.txt.

这可能吗?是否有任何密切的解决方法?

python git python-pbr

6
推荐指数
1
解决办法
1027
查看次数

Python Setuptools 和 PBR - 如何使用 git 标签作为版本创建包发布?

我如何实际创建使用 git repo 标签进行版本控制的 python 包的发布/发行版,使用setuptoolspbr

关于所需的基本设置和配置有很多信息:

但是关于如何实际创建发行版的简单信息在哪里?

即我正在寻找任何命令找到带有版本信息的 git 标记并将其拉入配置信息中,因此可以分发具有该新版本信息的源,并且可以使用类似的方法从脚本中发现版本信息在这个答案中描述。


额外细节

我正在开发一个项目,该项目将仅通过 git repo 分发给其他开发人员,而不是通过PyPi。该项目将使用 以可执行文件的形式发布给用户pyinstaller,因此此包分发仅用于几个关键目的:

  1. 为其他开发人员安装/设置包,以便可以干净地重新创建依赖项/环境。
  2. 管理版本——当前的计划是用于pbr从 Git 存储库标签生成版本,因此这些标签可以成为我们版本控制的真实来源
  3. 使用pbr其他自动生成从SVN家常的物品,如作者,manifest.in文件,发行票据等。

由于setuptools文档专注于使用PyPi和设置完全可分发和可重用的包pip,并且pbr文档只真正告诉您如何修改setuptools配置以使用pbr,因此我找不到有关如何运行分发/发布过程的信息。

我确定它存在于文档中的某个地方,但经过几次错误的启动后,我在这里问。我看到的每一个地方都暗示每个人要么知道如何做到这一点,要么作为过程的一部分神奇地发生。

我只是错过了显而易见的事情吗?


更新:

根据 sinoroc 的回答,看来我需要研究开发模式安装。即任何开发项目的人都会从git克隆,然后使用setuptools开发安装模式安装。

这不是原始问题的直接一部分,而是暗示的,我相信处于相同情况的人会感兴趣(我无法轻易找到信息)。

在他关于更新某些元数据的回答中提供了更多信息,并通过setuptools文档链接在“开发模式”下工作

python versioning git setuptools python-pbr

6
推荐指数
1
解决办法
1919
查看次数

如果使用 pbr,如何将包版本加载到 __version__ 变量中?

为了简化 python 打包,我试图迁移到使用 pbr。

尽管如此,我还是无法弄清楚如何将包的版本公开到__version__变量中。

这非常重要,因为我确实有很多用户依赖版本变量的存在。

人们应该能够做到:

import somemodule
print(somemodule.__version__)
Run Code Online (Sandbox Code Playgroud)

pip setuptools python-pbr

5
推荐指数
1
解决办法
1364
查看次数

标签 统计

python-pbr ×4

python ×3

git ×2

setuptools ×2

macos ×1

openstack ×1

pip ×1

versioning ×1