问题描述
我正在向缺乏经验的用户分发一些 Python 代码,这些用户对任何涉及命令行的事情都感到胆怯。他们可以安装 Anaconda 并打开 Jupyter notebook,但除此之外他们从未与 Python 交互过。
所以我在谷歌上搜索了一个更简单的界面(可能是 GUI),让这样的用户能够安装本地 Python 包或 Python 轮子。我偶然发现了看起来很有前途的 pip-gui (https://github.com/GDGVIT/pip-gui),但它目前还没有安装本地包,当然需要自己安装。
所以对于 Windows 用户,至少我遇到了以下解决方案(基于我在网上找到的一个脚本,我已经记不清了)。它是一个 powershell 脚本,它使用 Windows 表单让用户选择一个“.whl”文件,然后使用 pip 安装它。它假设用户在默认目录中安装了 anaconda(可能需要一些灵活性)。
我必须将其作为“.txt”分发并要求用户重命名为“.ps1”,然后右键单击并使用 powershell 运行。这有点麻烦,但用户似乎可以这样做,即使他们不习惯在 cmd shell 中使用“cd”和“pip”。
这是我得到的最好的解决方案,我想知道是否有一些简单的东西被我忽略了。
Add-Type -AssemblyName System.Windows.Forms
$f = new-object Windows.Forms.OpenFileDialog
$f.InitialDirectory = pwd
$f.Filter = "Python Wheel Files (*.whl)|*.whl"
$f.ShowHelp = $true
$f.Multiselect = $false
[void]$f.ShowDialog()
(& ($($Env:HOMEDRIVE)+$($Env:HOMEPATH)+"\anaconda3\Scripts\conda.exe") "shell.powershell" "hook") | Out-String | Invoke-Expression
pip install $f.FileName
Read-Host -Prompt "Press any key to continue"