微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否可以将python及其必需的库导出到与环境无关的文件中?

我有一个使用keras和tensorflow库的python脚本,这在每台机器上设置都非常耗时.是否可以将我的python脚本以及keras和tensorflow库导出到像java projects这样的文件中 – > .jar所以我每次搬到新机器时都不需要设置库?

解决方法:

Python 3包含a tool called zipapp,允许您使用Python项目构建单个归档,捆绑所有(或某些)依赖项.该工具仅与Python 3捆绑在一起,但生成的存档将适用于您要定位的任何版本的Python> = 2.6.

假设您拥有src /中的所有源文件,包括提到的Tensor Flow库:

$python3 -m zipapp -o yourapp.pyz -m "your.entry.point.module:main_function" src/

-m标志允许您在其中指定一个模块和一个函数,与运行.pyz文件时将执行:.关于运行它,它只是一个问题:

$python ./yourapp.pyz

同样,您需要Python> = 2.6才能使其正常工作.

如果您的目标是unix平台,您可能还会添加一个shebang:

$echo "#! /usr/bin/python" > yourapp2.pyz
$cat yourapp.pyz >> yourapp2.pyz
$chmod +x yourapp2.pyz

以便您可以将文件运行为:

$./yourapp2.pyz

另外,.pyz只不过是一个.zip文件.你可以自己创建一个没有zipapp,只需在顶层包含一个__main__.py文件.那将是你的捆绑的入口点.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐