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

multiple package source #5

Open
asmodehn opened this issue Apr 7, 2016 · 2 comments
Open

multiple package source #5

asmodehn opened this issue Apr 7, 2016 · 2 comments

Comments

@asmodehn
Copy link
Member

asmodehn commented Apr 7, 2016

When a package depends on another package for which the version is available in the same workspace, catkin_pure_python should do something to avoid pip errors (local version/remote version conflicts)...

@asmodehn
Copy link
Member Author

asmodehn commented Apr 7, 2016

This is already possible leveraging the requirements.txt file of your package.
requirements are installed with different option than the package.

So your requirements file could contain :

# To divert/prevent uninstalling attempt from a dependencies' dependency
# since pip requirements install is ignoring already installed packages for catkin_pure_python
# and these will be seen before by the installer for your dependency
futures
tornado

# adds dependency packages for development only
-e git+https://github.com/asmodehn/pyros-setup.git@config_refactor#egg=pyros_setup
-e git+https://github.com/asmodehn/pyros.git@config_refactor#egg=pyros

One can now realize that part of its workspace is defined by requirements, and part by wstools.
It s up to him to not have these collide.

TODO : Document that...

@asmodehn
Copy link
Member Author

Note that pip may have his own issues around this feature.

Currently we are relying on pip feature to download dependencies when installing the package (via setup.py) if necessary. Since pip will write into the same prefix, it should deal with already installed depedencies properly.

We should be aware of the --ignore-installed option used in many places however, since it is used to avoid problems with the system packages (using prefix might cause some) and the packages installed in the workspace.

Things might change when we move to use --target instead of --prefix because of #58, since the --target option doesn't deal with PYTHONPATH in the same way then --prefix

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

No branches or pull requests

1 participant