39
votes

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?

2

2 Answers

57
votes

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.
9
votes

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