这篇文章将讲述在无法用官方自带的cli工具一键安装时,如何手动安装piston api的语言包
本篇文章默认读者具备基础Linux知识,知晓什么是piston api,且已经自主成功部署,只是卡在无法安装语言包这一步。
本人在服务器部署piston api服务时,遇到无法使用官方自带的cli安装语言包的情况。具体原因应该是语言包源在海外,下载速度过慢,总之我尝试下载了一天一夜仍然没能成功下载,最终开始寻找手动安装教程。而像样的教程只搜寻到两篇(在文末给出),且一篇过于简略,另一篇又过于繁杂,故决定在问题解决之后专门写一篇文章说明。
官方GitHub仓库中给出了语言包的压缩包,是作者已经针对该项目适配过的,想要piston API支持什么语言直接下载对应的语言包即可。
地址为:https://github.com/engineer-man/piston/releases
解压的位置有严格要求,未解压到指定路径的话是无法识别到对应语言包的。以下以python-3.12.0.pkg.tar.gz为例,说明应该如何操作。
找到如下目录,若没有则创建:
bash/home/alibaba/piston/data/piston/packages/python/3.12.0
将python-3.12.0.pkg.tar.gz移至上述目录下,然后解压:
bashsudo tar -xzvf python-3.12.0.pkg.tar.gz
解压完成后应该有如下文件:
bash[alibaba@iZuf6j5bfcm07g3edtwistZ 3.12.0]$ ls
bin build.sh environment include lib metadata.json pkg-info.json python-3.12.0.pkg.tar.gz run share test.py
刚刚的压缩包此后可以删除。
之后需要配置两个文件 .env 与 .ppman-installed
1.创建空文件.ppman-installed标记该包已安装,否则会导致无法识别到语言包:
bashsudo touch .ppman-installed
2.创建.env环境配置文件,用于程序获取环境变量,否则程序不知道去哪找运行所需的工具。
先查看当前路径:
bash[alibaba@iZuf6j5bfcm07g3edtwistZ 3.12.0]$ pwd
/home/alibaba/piston/data/piston/packages/python/3.12.0
再看一下原来的PATH环境变量:
bash[alibaba@iZuf6j5bfcm07g3edtwistZ 3.12.0]$ echo $PATH
/home/alibaba/.local/bin:/home/alibaba/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin
之后创建并编辑.env文件,需要用到上面的信息:
bash[alibaba@iZuf6j5bfcm07g3edtwistZ 3.12.0]$ sudo vim .env
在打开的面板中编辑以下格式的文本,注意不要照抄(注意按键盘上的I进入编辑模式才能编辑):
bashPATH=/piston/data/piston/packages/python/3.12.0/bin:/home/alibaba/.local/bin:/home/alibaba/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin
输入PATH=后,粘贴刚刚pwd命令得到的路径(不同电脑不一样,粘贴你自己那里的,可以完整粘贴也可以像我从/piston开始粘贴),并再末尾加上/bin。之后加引号:做分隔符,然后在引号之后粘贴刚刚echo $PATH命令得到的路径。(注意使用英文符号,且不要有空格,否则会出错!)
完成后保存并退出,vim的保存退出是输入:wq(引号也要输!!)。
之后重启piston api服务验证即可。
本文作者:yan7
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!