如何使用我的本地python安装在远程服务器上运行本地脚本?

时间:2019-04-15 12:51:51

标签: python bash

我有一个本地脚本,希望使用我的本地python安装程序在远程服务器上运行。我需要这样做,因为我安装了无法在远程服务器上安装的特定软件包。

我尝试了两种找到的解决方案,但是都没有用。

ssh user@remote python -u < script.py 

cat script.py | ssh user@remote python -

以上两种情况都给我一个ImportError,用于仅安装在本地计算机上的模块。我绝对可以使用安装在服务器上运行代码的权限,但自己不能安装任何内容。

我尝试克隆服务器的python,但出现此错误:

user@server:~$ conda create -n my_root --clone="/opt/anaconda"
Source:      /opt/anaconda
Destination: /home/user/.conda/envs/my_root
The following packages cannot be cloned out of the root environment:
- conda-4.3.17-py27_0 
- conda-env-2.6.0-0 
Fetching package metadata .........
Packages: 153
Files: 0
ERROR conda.core.link:_execute_actions(335): An error occurred while             
installing package 'defaults::pycairo-1.10.0-py27_0'.
IOError(13, 'Permission denied')
Attempting to roll back.
IOError(13, 'Permission denied')

3 个答案:

答案 0 :(得分:1)

如果在远程计算机上安装了python,则只需pip install script.py中使用的任何模块。您可以检查其是否安装了python -V

答案 1 :(得分:0)

除非在远程服务器上允许运行脚本,否则无法在远程服务器上运行脚本。您可以想象,如果可以的话,这将是一个非常严重的安全漏洞!

您要实现的目标是什么?

答案 2 :(得分:0)

如果存在不能将模块安装在服务器的全局pip目录中的限制,则可以使用Python虚拟环境将脚本与服务器操作系统安装模块进行虚拟隔离。