使用setuptools和PyInstaller管理软件包版本

时间:2020-05-14 09:27:29

标签: python python-3.x pyinstaller packaging

我目前正在使用setuptools src layout开发Python(≥3.6)软件包。该软件包具有一个入口点(即src/mypackage/__main__.py),因此可以用作命令(即python -m mypackage)。

该软件包的版本存储在我的setup.cfg中,并在运行时使用importlib.metadata.version(对于Python <3.8,则为importlib_metadata.version提取),如{{ 3}}。特别地,第6点不切实际,因为我的src/myproject/__init__.py确实导入了具有依赖性的函数。

我的问题是,当我使用PyInstaller生成程序包的可执行文件(具有相同的入口点)时,importlib.metadata.version在运行时找不到程序包,并且应用程序因PackageNotFoundError而崩溃。 / p>

该软件包旨在用作Python软件包和独立的可执行文件。那么,在两种情况下我都应该使用什么策略来管理软件包的版本?

0 个答案:

没有答案