如何在没有python环境的linux服务器上运行python程序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在没有python环境的linux服务器上运行python程序相关的知识,希望对你有一定的参考价值。

如题,公司服务器上虽然有python2.6但是几乎没有安装第三方库,而且员工账号没有添加第三方库的权限,所以很无奈。。

正是因为你的公司认为你现在这个想法很不安全,才没给你权限。改个思路吧,让你们的IT给你在服务器上挂一个root权限的vm或container,你想怎么玩就怎么玩吧 参考技术A 都用标准库写呗

如何在远程机器上的 Python 脚本中激活 anaconda 环境?

【中文标题】如何在远程机器上的 Python 脚本中激活 anaconda 环境?【英文标题】:How to activate an anaconda environment within a Python script on a remote machine? 【发布时间】:2018-07-04 03:32:26 【问题描述】:

我目前正在尝试找到一种方法来在远程服务器上运行的 Python 脚本中激活 anaconda 环境。我在 Stack Overflow here 和 here 上发现了以下类似问题,但他们的建议没有成功。我只是不断收到这个简单的错误sh: 1: source: not found。据我了解,这是因为未找到 conda 环境经过大量研究,我发现在使用 python 脚本时没有其他方法可以做到这一点,但如果有人有建议我很想传递一些想法!提前致谢!

代码如下:

import os 
import subprocess
from subprocess import Popen

value = 'activate punc2'
#os.system("cd /Users/elicobler/tiny_dancer/Testing/thrive/API_text_results")
#os.system('source root/conda3/envs/punc2/bin/activate /root/conda3/envs/punc2')
#os.system('source activate punc2')
#Popen('source activate punc2')
#subprocess.call('source', value)
subprocess.run('source root/conda3/envs/punc2/bin/activate /root/conda3/envs/punc2 && cat /var/www/html/1.22.18 - Monday - Hr 1 - Seg 1-5a65e2698c1dd07f02c25679.txt | python punctuator.py models/endquote.pcl /var/www/html/1.22.18 - Monday - Hr 1 - Seg 1-5a65e2698c1dd07f02c25679.txt && source deactivate', shell=True)

【问题讨论】:

其实我觉得source本身是找不到的。看我的回答。 @DanFarrell 啊啊啊!没错,我忘记了它会在 shell 中而不是 bash 中!当我今晚晚些时候有机会时,我会试试这个。 我知道它很旧,但答案确实是它使用 '/bin/sh' 而不是 bash,你只需要一个 . 而不是 source 【参考方案1】:

您的默认 shell 不支持 source,但您的系统很可能也提供 bash。试试这样的:

subprocess.run("bash -c 'source /root/conda3/envs/punc2/bin/activate /root/conda3/envs/punc2 && ... && source deactivate', shell=True)

你不需要一个 shell 来调用一个 shell,所以你可能会得到类似的东西

subprocess.run("/use/bin/env", "bash", "-c", "source /root/conda3/envs/punc2/bin/activate /root/conda3/envs/punc2 && ... && source deactivate")

【讨论】:

这成功了!不得不做一些小的改变,但让它完美地工作。感谢您的所有帮助!

以上是关于如何在没有python环境的linux服务器上运行python程序的主要内容,如果未能解决你的问题,请参考以下文章

Redis Python Linux 运行环境配置

如何在linux系统服务器上,安装 LAMP 这个php运行环境?

在多个平台如何安装Python

一个python程序如何在没有python环境的pc机上运行,难道必须也要搭建python环境?

如何在linux下运行python程序

如何在Linux服务器上后台运行python程序,并将输出加载到指定文件中