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

Install order when using: pip install --upgrade somepackage #9

Closed
vbabiy opened this issue Mar 15, 2011 · 4 comments
Closed

Install order when using: pip install --upgrade somepackage #9

vbabiy opened this issue Mar 15, 2011 · 4 comments
Labels
auto-locked Outdated issues that have been locked by automation type: bug A confirmed bug or unintended behavior

Comments

@vbabiy
Copy link
Contributor

vbabiy commented Mar 15, 2011

It looks like pip is installing the package to be updated before upgrading the dependencies. Aside from being kind of strange behavior, consider the following:

  • mymodule requires Twisted
  • Twisted has a plugins/ directory in which all third-party modules must copy their plugins.
  • pip install mymodule installs the dependencies, then mymodule as expected.
  • pip install --upgrade mymodule removes, re-installs mymodule first, then the dependencies. This means that Twisted is removed, then re-installed, wiping that plugins directory. It won't be repopulated, since mymodule has already been upgraded.

I'm not sure if this should be a bug, but I can't figure out why we'd want this order instead of the inverse. Whether it be fixing the "bug" or providing a flag to tell pip to install dependencies first, this would save me a whole lot of headache. I'm using Twisted here as a convenient example, but this scenario can hinder other projects as well.

If I didn't explain this well enough, reply and let me know. Thanks!


@dustinlacewell
Copy link

I am currently dealing with this issue as well for my own package. Plugins overwrite the namespace package. Let's upgrade dependencies first - like vbabiy says, or add a flag.

@bersace
Copy link

bersace commented Apr 19, 2011

Hi,

Same issue here. Is it possible to have a path entry for each egg installed ? Easy_install did like this. As long as pip doesn't do te same way, it will break existing projects that use the loosly designed plugin system of twisted.

Any plan to support back per egg directory ?

Regards,
Étienne

@bersace
Copy link

bersace commented Aug 5, 2011

I fixed the issue by having a custom "site-package" dir in my project, containing twisted/plugins/.

@dstufft
Copy link
Member

dstufft commented Dec 14, 2014

I believe this is fixed now.

@dstufft dstufft closed this as completed Dec 14, 2014
trishankatdatadog added a commit to DataDog/pip that referenced this issue Feb 25, 2019
….0 (pypa#9)

* try adding agent_requirements.in from datadog-agent-6.6.0

* pin only conflicting versions

* harmony with datadog-agent-6.6.0

* add two more requirements
@lock lock bot added the auto-locked Outdated issues that have been locked by automation label Jun 5, 2019
@lock lock bot locked as resolved and limited conversation to collaborators Jun 5, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
auto-locked Outdated issues that have been locked by automation type: bug A confirmed bug or unintended behavior
Projects
None yet
Development

No branches or pull requests

4 participants