我有一个 Windows 盒子和一个 Linux 红帽盒子。
Eclipse 安装在 Windows 上,遵循此 Eclipse页面上给出的说明。我设法建立了一个在 Linux 机器上运行的 RSE 服务器;我还可以在远程机器上创建一个项目。
实际上我在 Linux 上使用虚拟环境,我想在开发时选择它们。
有没有办法为 PyDev 或 Django 项目定义远程解释器?
我有一个 Windows 盒子和一个 Linux 红帽盒子。
Eclipse 安装在 Windows 上,遵循此 Eclipse页面上给出的说明。我设法建立了一个在 Linux 机器上运行的 RSE 服务器;我还可以在远程机器上创建一个项目。
实际上我在 Linux 上使用虚拟环境,我想在开发时选择它们。
有没有办法为 PyDev 或 Django 项目定义远程解释器?
我曾经在Ubuntu 虚拟机中使用远程 python 解释器遇到过同样的问题。我想你也应该能够通过ssh
你的情况进行连接。
虽然 Pycharm 可以有远程解释器(即使是使用Vagrant的虚拟机),但像我这样的一些人更喜欢像Sublime Text 3这样的编辑器,即,不是 IDE。在那里,您可以指定主机内任何解释器的路径。我猜 Pydev 还允许在主机内指定一个 python 解释器。
我能找到使用远程解释器的最简单方法(但可能不是最好的方法)是在我的主机中安装虚拟机的环境文件夹(python 可执行文件和模块所在的位置)。因此,您可以执行以下操作:
在虚拟机(guest)中——>在任何你想要的路径中创建一个虚拟环境,例如,~/myGuestEnvs/testEnv/
. 您可以使用virtualenv
之前安装的pip
.
在您的主机中--> 像这样在您的主机中安装win-sshfs
和挂载虚拟机的对应文件夹~/myGuestEnvs/testEnv/
--> ~/myHostMountedFolder/
。如果我理解得很好,您是从 Windows 编码并在 Linux 上运行代码。我必须承认,ssh
在 Windows 上挂载磁盘并不是最简单的方法,但它仍然是可能的!您可以通过其他方式查看此 SoF 问题。
始终在您的主机中--> 将您的 python 解释器指向已安装的文件夹:python_interpreter
--> ~/myHostMountedFolder/bin/python
。
小心,如果您只挂载/指向bin
环境的文件夹,python 可执行文件所在的位置,您将丢失所有代码完成、转到定义... IDE 的可用性,因为它无法找到您导入的模块.
我应该补充一点,如果虚拟机关闭,那么 Pydev 将无法使用 python_interpreter,因为挂载的文件夹将为空。每次编码时,都必须启动虚拟机,如果没有,则可能会使用默认的主机 python 解释器和主机 python 包。
Pycharm IDE 支持从 Remote Interpreter 运行您的项目/程序,还支持部署到远程服务器(作为Pro 版本的一部分)。
Pycharm 也支持 Git/Vagrant/GoogleApp Engine。
我设法以这种方式工作的唯一 Python 产品(例如 Eclipse 调试 Java 中的远程代码)是(商业的,专有的)WingIDE。
我设法通过执行以下操作来实现这一目标:
1)创建一个python venv
python3 -m venv /home/me/venv
2) 通过转到 Window->Preferences->PyDev_Interpreters->Python Interpreter-> Browse for python/pypy 将 pydev 解释器设置为 venv
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 以匹配您的配置。
享受 !