python - 使用 Powershell 安装最新版本的 Python 的首选方式是什么?打包的二进制文件还是在线安装?
问题描述
我正在尝试创建一个可以在安装了未知 Python 的 PC 上运行的工具。我创建了一个 Powershell 脚本来确保正在运行最新版本,以便包的其余部分可以顺利运行,因为它是用 Python 3.7 编写的。我目前的工作解决方案是这样的:
首先,它检查任何已安装的 python 版本,如果确定版本(如果存在)低于 3.7,则运行此代码段:
`[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
调用-WebRequest -Uri " https://www.python.org/ftp/python/3.7.0/python-3.7.0.exe " -OutFile "c:/temp/python-3.7.0.exe"
c:/temp/python-3.7.0.exe /quiet InstallAllUsers=0 PrependPath=1 Include_test=0`
我的问题是,这是最好的方法吗?或者最好在包中包含 Python 二进制文件以规避任何潜在的网络问题。感谢您的任何帮助或见解!
解决方案
我更喜欢这个解决方案,因为它通过不预包含 python 来减少程序的整体大小。
虽然它取决于您的用户。如果它是一个旨在为其他开发人员扩展 python 的库,则不需要包含二进制文件。
相反,如果这意味着它是独立的,那么包含二进制文件可能是值得的。
尽管我仍然更喜欢您所拥有的,但它会安装最新版本。
推荐阅读
- database - 如何将 mongo 与 elasticsearch 同步
- javascript - 在 summernote 工具栏中添加一些文本
- elasticsearch - 动态更改弹性搜索查询中的“来自”值
- postgresql - 游标中的循环无法正常工作
- postgresql - 已安装postgis但无法创建扩展:错误:无法打开扩展控制文件~/postgis.control":没有这样的文件或目录
- javascript - JQuery函数在另一个函数之后不起作用
- artificial-intelligence - 对话框流中 fb messenger 的“开始”按钮
- c# - 实体框架中的用户定义表生成不正确的查询
- c# - 将文件分组为 500MB 块
- laravel - 在 laravel 5.7 中将 pdf 文件作为电子邮件附件发送