如何解决pyinstaller:将_version.py和versioneer中的版本信息添加到软件包中
我正在寻找将版本添加到可执行文件的方式,就像其他许多poset一样。相反,我使用规格文件用pyinstaller --onedir
打包了我的应用程序。一切正常,但该应用程序应该显示其版本号。当我使用pip install ...
安装python库并运行应用程序时,会显示版本信息。但是当与pyinstaller打包在一起时,版本显示为0 + unknown。我正在使用versioneer
自动生成版本标签。
安装该应用程序后,将生成一个包含以下内容的_verion.py
文件:
# This file was generated by 'versioneer.py' (0.18) from
# revision-control system data,or from the parent directory name of an
# unpacked source archive. Distribution tarballs contain a pre-generated copy
# of this file.
import json
version_json = '''
{
"date": "2020-09-23T08:27:42-0600","dirty": false,"error": null,"full-revisionid": "59819d491111ebd8c7341bcd82cf59c04ec4cfae","version": "0.0.34"
}
''' # END VERSION_JSON
def get_versions():
return json.loads(version_json)
此文件正在替换源文件中具有相同名称的文件。显然,出问题了,使用versioneer
时没有创建文件。我想知道这是否可以解决,如何解决?
“ Versioneer的工作方式是在源代码树中添加一个特殊的_version.py文件,您的 init .py可以在其中导入该文件。此_version.py知道如何动态地向VCS工具询问版本信息在导入时。
_version.py还包含$ Revision $标记,并且安装过程将_version.py标记为在git archive命令期间使用标记名称重写此标记。结果,生成的tarball将包含足够的信息以获取正确的版本。
要允许setup.py也计算版本,将versioneer.py添加到源代码树的顶层,紧挨setup.py和配置它的setup.cfg。这样会覆盖多个distutils / setuptools命令以在调用时计算版本,并更改setup.py build和setup.py sdist,以将_version.py替换为仅包含生成的版本数据的小型静态文件。“
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。