How to structure python projects with shared applications using git and buidout without symlinks

I have several projects that share child applications with other projects . When working in the project directory, I want to be able to make changes to the application , update it, and extract these updates to the second project .

Demand:

  • Using symbolic links (my IDE debugger does not work with them)
  • No compilation / re-run script. I would like to make changes to the application without reloading the script / buildout.
  • Applications should be in the project folder.

Here's the structure:

app_one (git repo) |-- app_one (actual app uses by projects) | +-- models.py |-- README.md +-- setup.py project_one (git repo) |-- project_one | |-- apps | | |-- app_one | | | +-- models.py | | | -- app_two |-- setup.cfg +-- setup.py project_two (git repo) |-- project_two | |-- apps | | |-- app_one (same app as project_one) | | | +-- models.py | | | -- app_two |-- setup.cfg +-- setup.py 

I am currently using git substitutions for this; The disadvantage is that there is no way to reference a repo subfolder. I recently read about a subtree, will this work better?

Ideally, I would like to use buildout , but I did not find a good way to accomplish this without using symlinks. If there is a way to do this, please let me know.

Any suggestions are welcome.

+5
source share
1 answer

mr.developer . When the mr.developer source is extracted and activated, it becomes setuptools / distributes the development egg in the assembly, and therefore the check will be what is used by any scripts (for example, the generated python interpreter zc.recipe.egg).

+3
source

All Articles