前言
最近在学习 PyTorch ,由于课程的视频时长着实惊人--> PyTorch for Deep Learning & Machine Learning – Full Course 坐在电脑桌前一整天,实在顶不住了。于是想要尝试窝在被窝里用手机进行学习。
由于课程需要用到 Jupyter Notebook 和 torch , 因此,尝试了不少的App之后,也发现了一些非常棒的移动端python APP,比如 Carnet 以及本文的主角 Pythonista 。需要注意的是,它们是完全不同但却同样优秀的产品。 Carnet 提供了完整的Jupyter运行环境,这意味这可以直接通过 !command 来运行 pip 命令安装需要的package。但 Pythonista 自身没有提供此功能。但Pythonista自带启动速度、优雅的键盘和便捷的输入方式实在令人垂涎不舍。
于是,经过一番搜索,便有了此文。
序言
“ StaSh is a serious attempt to implement a Bash-like shell for Pythonista. ”
StaSh是一个Pythonista环境下的仿shell程序,Sta来自于Pythonista的后三个字母,Sh即shell缩写。除了能完成 shell 的基本功能外,最主要的功能还有实现 pip 安装第三方库和git 操作。
更多详情请参照官方GitHub仓库 。
使用步骤
Step 1: 在Pythonista中新建下载安装脚本
例如我们在 pythonista 中新建了一个 install_stash.py 文件,在其中输入以下内容并运行脚本:
1 | import requests as r;exec(r.get('https://raw.githubusercontent.com/ywangd/stash/master/getstash.py').text |

运行正常结束之后,就表示安装完成了。
安装完成后会得到一个 launch_stash.py 的文件,这个文件就是 stash 的启动器,点击右上角的运行按钮即可启动 stash 。
如果无法正常运行:
关键问题在于无法使用 get() 方法获取 getstash.py 文件。解决方案1:
直接复制链接在浏览器打开,然后复制浏览器中的代码,并在 Pythonista 中新建一个.py 文件粘贴刚才的代码进行运行。解决方案2:
将链接替换为:https://gitee.com/mersakk/stash/raw/master/getstash.py
Step 2: 运行 launch_stash.py
如果是按照上述步骤的话,你可以在相同的路径下发现 launch_stash.py ,我们运行它之后会出现一个shell窗口,我们可以在其中运行常见的命令如 ls, cat, pip等命令

具体可以运行哪些命令,自行尝试或到stash的安装目录下的bin文件夹查看:
1 | Python Modules/site-packages(user)/stash/bin |
Step 3: 更新stash
如果想要更新 stash,可以按 step2 中的引导,在 stash 中运行以下命令:
1 | selfupdate -f |
运行完毕后重启 Pythonista即可
后续: 快速进入stash
我们可以通过将 launch_stash.py 添加到 Pythonista 的Share Extension中实现。添加后,可以在任何有分享按钮的地方依次点击 分享-->Run Pythonista Script--> Stash实现

参考: stash安装教程
get_stash.py: 1742163920-get_stash
Comments NOTHING