-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Use raw sys.path technique by default #674
Comments
@minrk, I'm mentioning you here, as this work is the follow-up to pull request 135. |
Awesome, thanks @jaraco! |
As suggested in the changelog, I'm reporting this change as a regression. It seems to break pip editable (-e) installs if there's already a non-editable install of the same package. To reproduce:
You'll end up with the package you installed in step 2 rather than the editable version from step 3. (Note that if you use pip install without -e things still work properly and you end up with the version from step 3 instead.) For example, the old (working) behavior is demonstrated by:
You should see something like openstackdocstheme 1.5.1.dev1 referencing a path to the source directory you just installed. Now blow away the |
Sorry, now I see the issue we've encountered is basically a dupe of #447 and #729, with a fix (pypa/pip#3904) coming in an eventual pip update. |
Its a shame the fix wasn't released when setuptools released :/. |
As per the release notes, I am raising concern that support for the rewrite technique may be removed one day. In our project it's common to have two versions of the same package on the PYTHONPATH. This is because our project does not install to the system, it is typically on the PYTHONPATH, and if a user wants to make any modifications to one of our tools, they will clone into an overlay workspace which is ahead of it on the PYTHONPATH. In general this workflow is unaffected, but if the overlay workspace uses If #447 gets addressed we may not rely on the rewrite technique, but in the meantime we do (unless you have suggestions for other approaches that do not use this environment variable that we can try). |
Setuptools 18.3 added support for omitting the sys path manipulation in easy-install.pth by setting SETUPTOOLS_SYS_PATH_TECHNIQUE=raw.
This change seems to have been well received and even revealed benefits in #400, despite the apparent undesirable behavior encountered in #447.
It's time for Setuptools to use this technique by default. This backward-incompatible change will require environments to set SETUPTOOLS_SYS_PATH_TECHNIQUE=rewrite to retain the existing behavior.
The text was updated successfully, but these errors were encountered: