Eclipse PyDev使用远程解释器

时间:2013-02-05 20:51:44

标签: eclipse pydev python

是否有可能让eclipse PyDev使用远程Python解释器?

我想这样做,因为我要连接的Linux服务器有几个运行的优化解算器(CPLEX,GUROBI等),我的脚本使用。

目前我在本地使用eclipse编写脚本,然后将所有文件复制到远程计算机,使用ssh登录并使用“python script.py”执行脚本。 相反,我希望单击“运行”按钮,只需在我的eclipse IDE中执行所有操作。

由于

2 个答案:

答案 0 :(得分:8)

不幸的是没有。您可以通过远程系统资源管理器(RSE)远程连接到Linux服务器。但不能将它用作远程解释器。我用Pycharm。您可以使用您必须为其付费的免费社区版或专业版。它并不昂贵,它对我来说很有用。

答案 1 :(得分:5)

正如Adel所说,远程系统资源管理器或普通的运行按钮可能无法实现这一点, 但您可以自动执行当前使用的流程。当风扇坏了,我不得不这样做几个星期 在我的笔记本电脑中,做了任何重要的计算,使它过热和断电,所以我跑了 我的工作机器上的一切。

您可以使用外部工具机制运行一个简短的脚本,将您的代码同步到远程服务器, 运行您的脚本,然后将任何输出文件同步回本地计算机。我的脚本看起来像这样, 存储在$ HOME / bin / runremote.sh中,并且是可执行的(chmod +x runremote.sh

fp="$1"  # Local path to the script we want to run--for now,
         # this is the only command I pass in from Eclipse, but you could add others if so inclined.
# My home directory is a little different on my local machine than on the remote,
# but otherwise things are in the same place. Adjust as needed.
fp=`python -c "print '$fp'.replace('/home/tsbertalan', '/home/oakridge/bertalan')"`

# Run the synchronization. I use Unison, but you could use something else,
# like two calls to rsync, or a series of scp commands.
reposync >/dev/null  # The redirection assumes your sync command will print errors properly on stderr.
cd='cd '`dirname $fp`

# I use a virtual environment on the remote server, since I don't have root access to install
# packages globally. But this could be any set-up command you want to run on the remote.
# A good alternative would be `source $HOME/.profile` or `~/.bashrc`.
act='source /home/oakridge/bertalan/bin/activate'
fname="`basename $fp`"
cmd="$act ; $cd ; python $fname"

# Run the command remotely. The -X forwards X11 windows, so you can see your Matplotlib plots.
# One difficulty with this method is that you might not see all your output just as it is created.
ssh bertalan@remote.server.edu -X  "$cmd"
sleep 1

# My synchronization script is bidirectional, but you could just use rsync with the arguments flipped.
reposync >/dev/null

如果你不在本地使用linux或OSX,你可能不得不使用MinGW或Cygwin或其他任何东西来获取 这工作。或者,既然你似乎有一个有效的Python解释器,你可以写一个 Python中的等效脚本,使其可执行(我认为通过资源管理器中的文件属性对话框), 并在顶部添加#!/path/to/python行。我不经常使用Windows,所以我无法真正帮助它。

要在Eclipse中使用它,请转到Run>外部工具>外部工具配置....添加新工具 其位置是脚本的路径,其第一个参数是$ {resource_loc}。 然后,您可以使用Run>外部工具> [第一项],或将其绑定到键盘快捷键(我使用F12) 通过转到Windows>偏好>键,并搜索"运行最后启动的外部工具"。大概是你 必须首先通过菜单才能使这个"最后推出"外部工具。