繁体   English   中英

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

[英]How to run a local script on a remote server using my local python installation?

我有一个本地脚本,希望使用本地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')

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

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

您要达到的目标是什么?

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM