簡體   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