【PyCharm教程】在 PyCharm 中使用高级 Vagrant 功能

本教程介绍如何在 PyCharm 中使用 Vagrant 集成的高级功能。
注意Vagrant: Working with Reproducible Development Environments页面中提到的先决条件。还要确保创建并初始化了一个 Vagrant 框。
使用内置的 SSH 终端连接到 Vagrant 机器
PyCharm 具有内置的 SSH 终端,可用于连接到远程机器。
开始连接
要连接到 Vagrant 机器,请选择工具 | 在主菜单上启动 SSH 会话...。这将打开我们可以连接的主机列表。
配置的Vagrant 机器会自动添加到此列表中。单击它会打开与此 Vagrant 机器公开的 SSH 端点的连接。Edit credentials...菜单项允许手动输入连接信息。但是,我们将在此限制使用虚拟框。
使用 SSH
因此,在选择 Vagrant 之后,PyCharm 使用 SSH 服务器连接到 Vagrant 机器并显示一个可以使用的终端:
在 SSH 终端中,您可以执行以下操作:
- 使用向上和向下箭头键滚动查看命令历史记录
- 执行剪贴板操作
使用共享文件夹
Vagrant 允许在主机和 Vagrant 机器之间共享文件夹。例如,您可以使用这些文件夹将 Web 根目录内容从当前 PyCharm 项目自动映射到 Vagrant 机器上的 Apache 虚拟主机目录。
添加路径映射
打开Vagrantfile进行编辑 ( F4,并为路径映射添加配置条目:
Vagrant.configure("2") do |config|
config.vm.synced_folder "src/", "/srv/website"
end
重新加载流浪者
通过选择Tools |重新加载Vagrantfile 流浪者 | 在主菜单上重新加载:
命令执行的结果显示在运行工具窗口中:
一旦 Vagrant 机器重新加载,一个新的路径映射就可用了。例如,当使用内置的 SSH 终端连接到 Vagrant 机器时,我们会看到/vagrant文件夹的内容映射到 PyCharm 本地项目文件夹。注意:从这个文件夹中删除文件会删除两端的文件!
指定 Vagrant 实例文件夹
默认情况下,Vagrantfile和所有其他 Vagrant 细节(如 Puppet 清单)放置在 PyCharm 项目的根目录中。由于这并不总是可取的,PyCharm 应该在其中查找Vagrantfile的实例文件夹可以通过设置/首选项的Vagrant页面进行配置:
通过设置管理 Vagrant 插件
在设置/首选项的Vagrant页面中,您还可以管理 Vagrant 插件。在插件选项卡中,使用工具栏按钮安装、卸载和更新插件。
您还可以安装许可证,例如,VMWare Fusion Provider允许在 VMWare 上运行 Vagrant 机器。
供应商支持
Vagrant 默认使用Oracle VirtualBox作为虚拟化平台。但是,您可以使用provider更改虚拟化平台,因此虚拟机可以由 VirtualBox 以外的系统运行,例如VMWare或Amazon EC2。在Vagrant 插件列表中查找可用的提供程序。
对于每个命令,您应该将要使用的提供程序传递给 Vagrant。为了简化此过程并让 PyCharm 自动将提供程序名称添加到每个 Vagrant 命令,请在设置/首选项的Vagrant页面中指定提供程序。您机器上安装的所有提供程序都可以从设置中获得。选择后,提供程序将用于执行 PyCharm 中的所有 Vagrant 命令:
(重新)配置 Vagrant 机器
Vagrantfile可以包含一系列配置程序,一旦虚拟机运行,它们就可以启动安装和配置例程。
工具| 流浪者 | Provision主菜单命令在已经运行的 Vagrant 机器上调用配置的配置器,而无需首先销毁虚拟机。
使用环境变量
Vagrantfile中的环境变量可用于 Puppet 节点、Puppet 环境、自定义事实、AWS 键。
在 Settings/Preferences 对话框的Vagrant页面中,指定要传递给Vagrantfile的项目特定环境变量:
设置后,这些环境变量将在Vagrantfile中引用,使用语法#{ENV['name_of_variable']}
: