使用Pydev和RSE Server在远程Linux机器上定义远程解释器

时间:2012-06-13 16:17:43

标签: python eclipse virtualenv pydev

我有一个Windows框和一个Linux红帽框。

Eclipse按照此日食page上的说明安装在Windows上。我设法建立一个在Linux机器上运行的RSE服务器;我也可以在远程机器上创建一个项目。

实际上我在Linux上使用虚拟环境,我想在开发时选择它们。

有没有办法为PyDev或Django项目定义远程解释器

4 个答案:

答案 0 :(得分:6)

我曾经在Ubuntu虚拟机中遇到与远程python解释器相同的问题。我想你也应该能够在你的情况下通过ssh连接。

虽然Pycharm可以有远程解释器(即使使用Vagrant的虚拟机),但有些像我这样的人更喜欢Sublime Text 3之类的编辑器,即不是IDE。在那里,您可以指定主机中任何解释器的路径。我猜Pydev还允许在主机内指定一个python解释器。

我能找到使用远程解释器的最简单方法(但可能不是最好的)是在我的主机中安装虚拟机的环境文件夹(python可执行文件和模块所在的位置)。所以,这就是你能做的:

  1. 在虚拟机中(来宾) - >在您想要的任何路径中创建虚拟环境,例如~/myGuestEnvs/testEnv/。您可以使用先前使用virtualenv安装的pip执行此操作。

  2. 在您的主机中 - >安装win-sshfs并在您的主机中安装虚拟机的对应文件夹,如~/myGuestEnvs/testEnv/ - > ~/myHostMountedFolder/。如果我理解得很好,你就是从Windows编写代码并在Linux上运行代码。我必须承认,在Windows上通过ssh安装磁盘并不是最容易的,但它仍然可能!您可以通过其他方式查看this SoF question

  3. 始终在您的主机中 - >将您的python解释器指向已挂载的文件夹:python_interpreter - > ~/myHostMountedFolder/bin/python

  4. 小心,如果你只挂载/指向python可执行文件所在环境的bin文件夹,你将丢失所有代码完成 goto definition ... IDE的可用性,因为它无法找到导入的模块。

    我应该补充说,如果虚拟机关闭,那么Pydev将无法使用python_interpreter,因为挂载的文件夹将为空。每次编码时,都必须启动虚拟机,否则,可能会使用默认的主机python解释器和主机python包。

答案 1 :(得分:1)

Pycharm IDE支持从Remote Interpreter运行您的项目/程序,也支持部署到远程服务器(作为专业版的一部分)。

Pycharm也支持Git / Vagrant / GoogleApp Engine。

答案 2 :(得分:0)

我唯一能够以这种方式工作的Python产品(比如Eclipse调试Java中的远程代码)就像这样(商业,专有)WingIDE。

答案 3 :(得分:0)

我设法做到以下几点:

1)创建一个python venv

python3 -m venv /home/me/venv

2)通过转到Window-> Preferences-> PyDev_Interpreters-> Python Interpreter->浏览python / pypy来将pydev解释器设置为ven

3)如果需要,请备份python可执行文件:

mv /home/me/venv/bin/python3 /home/me/venv/bin/python3.bkp

4)创建一个具有相同名称的新python可执行文件:

nano /home/me/venv/bin/python3

5)粘贴以下内容:

#!/bin/bash

remote_username=me
remote_interpreter=python3
remote_hostname=10.0.0.1

file_path=(${2//$remote_hostname/ })

ssh $remote_username@$remote_hostname "$remote_interpreter $1 ${file_path[1]}"

6)更改remote_username,remote_interpreter和remote_hostname以匹配您的配置。

享受!