Multiple Python Interpreters used in the same project?

后端 未结 4 2164
甜味超标
甜味超标 2021-01-04 02:08

I am using pycharm and it only lets you use one interpreter for example Python 2.7.5 or Python 3.5.1.

The problem is I have certain modules one from google to access

相关标签:
4条回答
  • 2021-01-04 02:55

    To use different interpreters on pycharm is easy, follow these steps bellow:

    • First you need to add a new interpreter, go to section "settings"

    • Select the tab "Project Interpreter"

    • Click on gear at right side on top

    • Click on Plus signal to add a new interpreter

    • Select the Python Executable interpreter and apply/quit other frames

    To change the interpreter, you need to follow this another steps

    • Click on the run listbox, and select the option "Edit Configurations"

    • At this window locate the section "Python Interpreter" and click on bottom arrow to select a new interpreter

    • Click on "apply.

    After these steps, you can change the interpreter any time.

    0 讨论(0)
  • 2021-01-04 03:00

    Not sure if this applies in Community Edition, but in Professional, this is straightforward. We use it to have a separately managed virtualenv + interpreter for each of several Google Cloud Functions under the same Git + PyCharm projects.

    Assuming you have a project structure like mine:

    myproject
    │   ├── function1
    │   │   ├── requirements.txt
    │   │   └── main.py
    │   └── function2
    │       ├── requirements.txt
    │       └── main.py
    ├── README.md
    
    1. Open your project and set up the interpreter + virtualenv as usual (File -> Settings -> Project -> Project Interpreter). Create a new virtualenv interpreter, saving it under your project's root (e.g., myproject/venv)
      • Note: This will be the default interpreter which we will override for function1 and function2.
    2. Create a new PyCharm project for each subfolder that needs its own virtualenv. You'll attach this project to your existing project.
      • File -> Open -> Select the subfolder (e.g., function1) -> OK -> "Attach"
      • Note: A bug in PyCharm may cause an error message here... if so, choose open in a new window instead of attach, then close the new window and try again.
    3. Go back to project interpreter settings. Notice: there are now two projects listed, the root myproject and the subfolder function1.
      • Configure each project's interpreter as you like, e.g., creating a new virtualenv interpreter stored under myproject/function1/venv. These now act as totally independent interpreters and PyCharm plays nicely with both.
    4. Repeat steps 2-3 for as many subfolders/virtualenvs as you want, such as function2 in my example.

    If everything went well, you'll notice that the subfolders are bolded, indicating that they are really separate projects.

    0 讨论(0)
  • 2021-01-04 03:03

    One idea is to write two seperate scripts; one for analytics and one for docxfactory. Decide which of these is the driver, and have that driver shell the other -- being sure to invoke the appropriate version of python.

    ex:

    #/usr/bin/env python2.7
    import subprocess
    # Do something with analytics
    # ...
    # Now call docxfactory script
    subprocess.call(['python3', 'docxcript.py'])
    
    0 讨论(0)
  • 2021-01-04 03:09

    This is actually possible with a bit of hacking.

    • close the pycharm IDE.
    • open $PROJECT/.idea/modules.xml and add another module with a different name like this:

    <modules> <module fileurl="file://$PROJECT_DIR$/.idea/jobs.iml" filepath="$PROJECT_DIR$/.idea/jobs.iml" /> <module fileurl="file://$PROJECT_DIR$/.idea/synonymer.iml" filepath="$PROJECT_DIR$/.idea/synonymer.iml" /> </modules>

    • now add a file by the same name in $PROJECT/.idea.
    • reopen the project.
    • open project settings where you will see something like this:
    • notice that now there are two modules and you can configure each one separately. This means that you can configure folders, exclusion and different interpreters. Now it's you job to configure things properly.

    Caveat: This is a hack which has no GUI in pycharm. This could stop working at any upgrade to pycharm. However, I don't think it will for various reasons.

    0 讨论(0)
提交回复
热议问题