Configuring PyCharm to Work on the VM
Consider the situation when you work on your project on one platform, but want to deploy and run it on a different one. This is where PyCharm helps a lot with its extensive support for remote interpreters.
The task of running a project on a virtual machine falls into several major steps:
First, you need to define a virtual box.
Second, you need to configure a remote interpreter to run in this virtual box.
Finally, you need to launch your script in the remote console.
Before you start, make sure that outside of PyCharm you have already done the following:
Installed Oracle's Virtual Box.
Installed Vagrant.
Added the following executables to your system path:
vagrant.bat from your Vagrant installation. This should be done automatically by the installer.
VBoxManage.exe from your Oracle's VirtualBox installation.
Creating a virtual box
In the Settings dialog (Ctrl+Alt+S) , select the page Vagrant, and enter the Vagrant executable and Vagrant instance folder.
If the boxes are already defined, they appear in the list, and you can select one.
If there is no suitable virtual box, click to create a new one. Enter the box name and URL for downloading:
After clicking OK, PyCharm downloads the VM template. Thus, the virtual box is created and added it to the environment.
Pay attention to the
menu commands under the menu. These commands correspond to the standard Vagrant actions. Once a Vagrant box is created, you have to initialize it in project root. To do that, in the main menu, point to , and then choose .Choose the folder, if required. Note that you have this choice if there are several projects opened in the same window. Choose the Vagrant box you are going to initialize.
Thus a Vagrantfile is created, and you can view and change it as required:
After initialization, perform the vagrant up
command (choose on the menu). PyCharm runs the vagrant up
command, and shows its output in the console:
Configuring remote interpreter via virtual box
Now open the Settings dialog again and select the page . Here you can select an interpreter from the drop-down list, but what if none of the suggested interpreters meets your needs? Then click the icon to define your own one. Select Add on the drop-down menu.
In the Configure Remote Python Interpreter dialog, you have to specify the server settings. These settings can be taken from the Vagrant configuration file you've already defined. All the server setting fields are filled with the values, taken from the Vagrant configuration file:
Note that the path mappings are defined automatically. However, you can click to add your own path mappings:
From this point on, you can run any script of your project on the VM:
What's next? Let's log in to the virtual box via SSH.
Connecting to the SSH terminal
Why do we need it at all? PyCharm lets you log in to your virtual box via SSH and work in its console without leaving the IDE. So, from the main menu, choose
. If you have more than one host already defined, select the one you want to connect to:Now that you have direct access to your virtual box, let's first make sure your project directory is properly mapped. To do that, just view the contents of the default vagrant's shared folder /vagrant, and launch one of the available scripts, for example, Solver.py: