Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improved and simplified requirements.txt handling. #226

Closed
wants to merge 1 commit into from
Closed

Improved and simplified requirements.txt handling. #226

wants to merge 1 commit into from

Conversation

encbladexp
Copy link
Contributor

New offical plugins just need an additional line in our all.txt. After that, every Plugin can change its requirements in its own requirements.txt file.

@ohinckel
Copy link
Member

The previous behaviour was generating a common requirements file instead of using the plugin's requirement files directly. This avoid listing packages twice or more (in case a plugin requires a dependency another plugin is also requiring). This is the reason why the Travis build is failing (base and backend plugin is requiring the python-dateutil package).

To solve this, we do not list the packages in plugins when they are already required by the core. But then we could remove some requirements from base without noticing that a plugin is still using it.

Could a constraints.txt help here to stick to a given version? Such a file should contain all dependencies from base and plugins to force a given version to be installed. But what is the benefit? I guess nothing since you (additionally) need to write all packages again into one more file.

Is there any other solution? If not, I would stick with the requirements file generation script.

@encbladexp
Copy link
Contributor Author

Damn, at least pip has some (still open) Issues about duplicate entries: pypa/pip#56

Another Idea:

  • all.txt refeferences a new file plugins/requirements.txt
  • plugins/requirements.txt references the plugins
  • common plugin related requirements go directly into plugins/requirements.txt if more than one plugin needs it
  • requirements like dateutil (very common with Python) goes directly to base.txt

Just an idea. I want to avoid that core references plugin requirements in its repository, so everybody can easier switch branches in the plugins repository. Maybe, my wish is still impossible for now :/

@encbladexp encbladexp closed this Aug 29, 2017
@encbladexp encbladexp deleted the simplerequirements branch August 29, 2017 06:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants