Best Practice for Using Remote Interpreters

Hi all,

I am using Google Cloud (or other cloud services) to develop my programs and run experiments. I encounter a problem when using 1) multiple VM instances, 2) multiple local machines, 3) multiple Anaconda environments, 4) multiple projects. Let's consider the following situations:

1) Create a new project: On each local machine, I need to A) create a project, B) set the remote interpreter for each VM instances/Anaconda environments, C) set the deployment settings, D) sync the local folder.

2) Create a new VM instance: On each local machine and each project, I need to A) set the remote interpreter, B) set the deployment setting, C) sync the remote folder.

3) Use a new local machine: On this new local machine, I need to A) create each project, B) set all the remote interpreters, C) set all the deployment settings, D) sync all the project folders.

4) Add a new Anaconda environment: One each local machine, I need to A) set the new remote interpreter, B) set the new deployment settings.

You can imagine how complicated it is to do all of these and remember whether all the local machines are all up-to-date. Are there any better practices to do all of these?

Thanks!

3 comments
Comment actions Permalink

Hi,

The interpreter and deployment settings can be exported, or shared using the settings share feature: https://www.jetbrains.com/help/pycharm/sharing-your-ide-settings.html#Sharing_Your_IDE_Settings.xml

Then you shouldn't need to configure them on each machine. Have you tried it?

0
Comment actions Permalink

Hi,

 

I tried syncing the settings through JetBrain, but it does not sync the remote interpreters and the deployment configurations.

0
Comment actions Permalink

Please try exporting and importing the settings using File > Export settings... option (you might need to disable settings sharing for that option to appear).

I've just tested it, and successfully imported interpreter and deployment configuration from another config.

But I agree it's still complicated to keep everything in sync in your scenario. Maybe you can reconsider your workflow? For example, use VCS to sync your code between different local machines, develop locally, only sync to remote machine when you need to deploy.

0

Please sign in to leave a comment.