-
-
Notifications
You must be signed in to change notification settings - Fork 704
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
second install of watchdog on non-macos incorrectly requires darwin dependencies #617
Comments
At first glance, it seems a pip issue. This is weird. Do you reproduce the same behavior with watchdog 0.9.0? |
From inside the same venv, could you tell me what returns: import os
import sys
from distutils.util import get_platform
print(sys.platform)
print(os.getenv("_PYTHON_HOST_PLATFORM"))
print(get_platform())
print(os.name)
print(os.uname()) |
Could you try to install the version from that branch: https://github.com/gorakhargosh/watchdog/tree/fix-use-sys-platform? But I still do not understand what happended. This may not be fixed right now :/ |
The same does not happen with watchdog-0.9.0, the problem only showed up when watchdog-0.10.0 was released and our builds started picking it up. I worked around the problem temporarily by making the requirement I agree, it does seem like a pip issue, but it only started with 0.10.0, so if we can figure out what change caused the issue we can submit an upstream bug. |
Could you try the same actions with the https://github.com/gorakhargosh/watchdog/tree/fix-use-sys-platform branch? Just to let me know it is fixed before merging. |
Te output you asked for:
Will try the branch next. |
Here's what I see if I checkout that branch, run
Same error. If I install from the tarball a second time it does not do this, but the problem only seems to appear when the watchdog requirement is already satisfied. I'm running this on an Ubuntu 18.04 vagrant box with a simple virtualenv. |
If I do the same from the
Note the lack of the ERROR output on the first install of 0.10.x as well. |
From the These seem like perfectly valid conditional requirement constructs so I still think there's a pip bug to file here. |
I was thinking of moving the requirements to a |
Do you mind retrying with the same branch? I force pushed on it. |
I am seeing the same issue here building RHEL containers. The interesting piece is that on RHEL7 I get the installation error that @reversefold posted above. However, on RHEL8 watchdog appears to install just fine, but my code breaks further down the line. Everything behaves as expected if I pin watchdog to 0.9.0 |
Same question: could you tell me if the version from the |
That worked for me
|
Excellent. I merge the fix and plan the new release. Thanks everyone 💪 |
I reported this as a pip issue #7673 yesterday, as it worked the first time, but failed when installing from cache. Good to see it has been resolved though. Thanks! |
Thanks for the report on pip @jontwo 👍 |
I've had odd errors with dependencies in the past with python version markers when they're in the install_requires list. When I moved those to extras_require it fixed the problem but that may or may not fix this issue. I would recommend opening a pip ticket if you haven't already. Example of using extras_require:
|
Ah, the page wasn't showing me the latest comments. Glad there's a pip ticket. |
I also tried updating setuptools and it fixed the problem in my python3 test environment but our builds are still python 2.7 and we had to peg earlier versions of setuptools and pip to keep things working until we can upgrade. |
If I run
pip install watchdog
on a clean python environment it works fine and doesn't install the pyobjc dependencies, although pip does output what look like warnings or errors:If I run
pip install watchdog
again pip does see it as already installed but then tries to install the pyobjc dependencies and fails. Here's the full command output:I have tested this with python 2.7 and 3.6 and the behavior is the same.
Additionally, if you try installing while the wheel version is cached, you also get the same error, even if watchdog is not installed:
Upgrading to the latest pip (20.0.2) exhibits the same error.
The text was updated successfully, but these errors were encountered: