我有一个Windows框和一个Linux红帽框。
Eclipse按照此日食page上的说明安装在Windows上。我设法建立一个在Linux机器上运行的RSE服务器;我也可以在远程机器上创建一个项目。
实际上我在Linux上使用虚拟环境,我想在开发时选择它们。
有没有办法为PyDev或Django项目定义远程解释器?
答案 0 :(得分:6)
我曾经在Ubuntu虚拟机中遇到与远程python解释器相同的问题。我想你也应该能够在你的情况下通过ssh
连接。
虽然Pycharm可以有远程解释器(即使使用Vagrant的虚拟机),但有些像我这样的人更喜欢Sublime Text 3之类的编辑器,即不是IDE。在那里,您可以指定主机中任何解释器的路径。我猜Pydev还允许在主机内指定一个python解释器。
我能找到使用远程解释器的最简单方法(但可能不是最好的)是在我的主机中安装虚拟机的环境文件夹(python可执行文件和模块所在的位置)。所以,这就是你能做的:
在虚拟机中(来宾) - >在您想要的任何路径中创建虚拟环境,例如~/myGuestEnvs/testEnv/
。您可以使用先前使用virtualenv
安装的pip
执行此操作。
在您的主机中 - >安装win-sshfs
并在您的主机中安装虚拟机的对应文件夹,如~/myGuestEnvs/testEnv/
- > ~/myHostMountedFolder/
。如果我理解得很好,你就是从Windows编写代码并在Linux上运行代码。我必须承认,在Windows上通过ssh
安装磁盘并不是最容易的,但它仍然可能!您可以通过其他方式查看this SoF question。
始终在您的主机中 - >将您的python解释器指向已挂载的文件夹:python_interpreter
- > ~/myHostMountedFolder/bin/python
。
小心,如果你只挂载/指向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以匹配您的配置。
享受!