In PyCharm, how do you add a directory from one project as a source to another project?

38,603

Solution 1

You have to tell Pycharm to use Project A as another "Content Root" for Project B.

  1. From the upper bar, go to File -> Settings... -> Project: [yourprojectnamehere] -> Project Structure.
  2. Click on + Add Content Root at the right panel
  3. Select the Project A folder from the popup named Select content root directory
  4. Click OK

Now, you'll see Project A is listed at the right panel.

  1. Click on Project A from the right panel
  2. Now, the content of project A is listed. Select the ones you want to be included as source. You can hold Ctrl and click left mouse button to select multiple entities.
  3. Click Sources from the upper bar to assign the selected entities as Source.

Now you should see Source Folders at the right panel.

UPDATE: As of at least Pycharm 2019.1.3, this seems to have changed, to be simpler thankfully.

  1. From the upper bar, go to File -> Settings... -> Project: [yourprojectnamehere] -> Project Dependencies.
  2. Select your project, and then click the checkboxes for each other project it's dependent on.

Solution 2

Pycharm 2020.2 - just in your project, File -> Open select project whitch you want attach. And choose 'Attach' in Open project window.

Share:
38,603
CivFan
Author by

CivFan

Updated on August 05, 2022

Comments

  • CivFan
    CivFan almost 2 years

    I have several python projects started from git repos, all related to each other, that are all open in one PyCharm window.

    I have python code in one project, call it project B, that imports python packages from project A, but PyCharm can't find the source.

    I've marked the directories with python packages in project A as source directories in PyCharm, and indeed other code in project A can lookup these python packages. But these source directories don't appear to be part of the lookup table for other projects in the same window.

    Is there any way in PyCharm to make one project recognize directories from another project as a source directory?

  • CivFan
    CivFan almost 8 years
    This is 95% working for me. The one problem I had was that I couldn't add the highest level root directory of the other project because "Two modules in a project cannot share the same content root." I got around this by just adding a sub-directory, which is good enough for my current needs.
  • Yibin Lin
    Yibin Lin almost 6 years
    In Mac OS: it seems to be in Pycharm (menu) > Preference > Project Structure
  • Charlie Parker
    Charlie Parker over 3 years
    "File -> Settings... -> Project: [yourprojectnamehere] -> Project Structure." does not exist
  • PhiM
    PhiM over 3 years
    With PyCharm 2020.2, I followed n jetbrains.com/help/pycharm/project-dependencies.html to create a dependency. However, I find the result unintuitive, at best, as PyCharm always shows the two projects in the same window. It seems to create more than a dependency. The settings of project B somehow appear to also depends on the settings of project A, which is very strange. Hence I deleted my answer on how to do this, because there are still things I do not understand.
  • Scott Skiles
    Scott Skiles about 3 years
    Very nice. Worked for me. One of the things about PyCharm that is tricky is how much the UI changes over time. I suppose it is good as this is an improvement but it makes the answers above obsolete.