-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
old html5lib makes pip dysfunctional #588
Comments
Interesting - in what way does pip become dysfunctional? |
@chihuahua similar to Kozea/WeasyPrint#353 Resolved by copying newer version of html5lib folder and overwrite |
Hmm, TensorBoard already requires 1.0b8, which comes after 1.0b1.
|
@chihuahua my mistake, b10 |
Upgrading to a newer html5lib broke our bleach dependency. We would need to upgrade Google to the latest Bleach in order to do this. What specific version of pip are you using? In what way does it become dysfunctional? What is the specific error, including traceback? |
Windows PowerShell PS C:\Users\alanp> pip -V All requested packages already installed.packages in environment at C:\Anaconda3:pip 9.0.1 py36hadba87b_3 All requested packages already installed.packages in environment at C:\Anaconda3:setuptools 36.5.0 py36h65f9e6e_0 Package plan for installation in environment C:\Anaconda3: The following packages will be DOWNGRADED:
Proceed ([y]/n)? html5lib-0.999 100% |###############################| Time: 0:00:00 11.67 MB/s Package plan for installation in environment C:\Anaconda3: The following packages will be UPDATED:
Proceed ([y]/n)? PS C:\Users\alanp> pip install sqlalchemy==1.1.13 |
Maybe file an issue upstream with pip or probably conda? Having an old version of a package shouldn't break a package manager. |
conda has nothing to deal with this pip install tensorflow-gpu->tensorboard->bleach1.5.0->html5lib b8 has same problem |
If what you're saying is the case, then all versions of pip released in past eleven months (since pypa/pip#4038) will break when TensorFlow is installed. @dstufft would it be possible to make pip more bullet proof in cases where old versions of html5lib are installed? |
Uh, something is wrong because pip doesn't normally depend on anything, it bundles all of it's dependencies internally and uses them instead unless someone has patched your version to debundle them. |
We do yes, but one one that has been vendored into pip. We don't use the installed version at all, see https://github.com/pypa/pip/blob/9.0.1/pip/index.py#L33. |
I am also suffering from this issue.
But updating a newer version of
|
If pip shades its dependencies (e.g. @kalefranz There have been multiple reports that installing TensorFlow with Conda will break the Conda installation, most likely due to pip's dependencies not being shaded. What can we do to help our friends? |
@marcotama I'm confused. How are you supposed to |
@straygar |
@jart this does sound like an upstream issue with Conda, I never had this problem until I switched from Pip to Conda. |
This is only happening on windows, correct? Has anyone seen this on an OS other than windows? |
As an explanation of what's going on here, Anaconda needed to un-vendor pip due to concerns about Windows path length limit (260 characters). The vendored packages were exceeding that limit in our tests, causing conda installations of pip to fail. IIRC, it was the vendoring of vendored deps that was the most painful: https://github.com/pypa/pip/tree/9.0.1/pip/_vendor/requests/packages - this appears to be fixed in master, though, so we won't need to un-vendor future pip versions. We're not sure exactly what the proper fix is yet for current pip, but we'll work on a fix ASAP. Any advice on how to un-vendor better is welcome. |
@msarahan I'm so happy you're here. If path length is an issue on Windows, then one thing you might be able to do is just stuff pip in a zip and add it to sys.path. As in I just tried it on my workstation and got an SSL error when I ran pip install, so there might be a couple lines in there that need to be monkey-patched, like possibly to load a pem file or something. But it should be doable. The cherry on top, if you do this, is pip will have a better cold start time with Conda than anywhere else. Files within a zip tend to occupy contiguous memory, so fewer seeks and better readahead. Also way less system calls because stat() calls end up being userspace hash map lookups on the zip directory loaded from the end of the file into memory. We've actually been thinking about doing this exact same thing with TensorFlow, so it won't take a half a darn second to import. |
Windows 10 fix with anaconda |
@elipeters solution has worked for me |
We also have a new build of pip available for testing. This new version restores vendoring in pip, but uses the master branch of pip for the vendorings, which are an updated, unvendored requests, which makes the path length issue go away. Unfortunately, it probably missed our bugfix release for the 5.0.0.1 version of Anaconda. You can test it with: conda install -c c3i_test2 pip |
met same bug on windows 7 |
tensorflowers!!! why is this necessary to force to downgrade? |
Our new pip version is available by default now. We hope this fixes the issue on the anaconda side.
|
@msarahan thanks, I'll try that one |
The pip upgrade solved this for me. Thanks! |
pip install html5lib==1.0b10 solved my problem. Thanks! |
marcotama ! THANK YOU ! You're the only post on the net so far that has said: DO THIS |
When I include tensorboard as one of my dependiencies in my own python package, and try to
Note that 1.0b8 should be identical to 0.9999999 as noted in the comment. Is there an easy way for me to resolve this issue? |
I have problems with this outdated html5lib dependency when trying to use pipenv |
TensorBoard uses bleach, which depends on html5lib, which made a big breaking change at some point in the past. Since upgrading these dependencies is not possible, we'll shade them under the `tensorboard._vendor` namespace, which is magically created by our build_pip_package script, which was rewritten, to support smoke testing and dash. The new process for building the TensorBoard pip package is: ```sh rm -rf /tmp/tensorboard bazel run //tensorboard/pip_package:build_pip_package pip install -U /tmp/tensorboard/*py2*.pip ``` Fixes tensorflow/tensorflow#16424 Fixes tensorflow#427 Fixes tensorflow#588 Closes tensorflow#607 Could help tensorflow#748
TensorBoard uses bleach, which depends on html5lib, which made a big breaking change at some point in the past. Since upgrading these dependencies is not possible, we'll shade them under the `tensorboard._vendor` namespace, which is magically created by our build_pip_package script, which was rewritten, to support smoke testing and dash. The new process for building the TensorBoard pip package is: ```sh rm -rf /tmp/tensorboard bazel run //tensorboard/pip_package:build_pip_package pip install -U /tmp/tensorboard/*py2*.pip ``` Fixes tensorflow/tensorflow#16424 Fixes #427 Fixes #588 Closes #607 Could help #748
html5lib dependency should be updated to 1.0b10
windows 10 x64
Anaconda 5.0.0 with python 3.6.2
install tensorflow-gpu -> tensorboard -> html5lib downgraded -> pip dysfunctional
The text was updated successfully, but these errors were encountered: