You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
pysetup doesn’t work for the docutils project #57143
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
assignee='https://github.com/tarekziade'closed_at=<Date2011-11-24.14:20:10.495>created_at=<Date2011-09-07.16:12:47.465>labels= ['invalid']
title='pysetup doesn\xe2\x80\x99t work for the docutils project'updated_at=<Date2011-11-24.14:20:10.494>user='https://github.com/merwok'
I tried to run “pysetup metadata” in a docutils source directory but the program failed, because packaging tries to import docutils and it picks up the 2.x version in the local directory.
The import chain is: pysetup → packaging.run → packaging.metadata → docutils
I could edit sys.path in pysetup, but that would mean that people calling “python3.y -m packaging.run” would not get the fix. Another idea would be to catch both ImportError and SyntaxError when packaging.metadata tries to import docutils, but it would be better to find the 3.x version of docutils in site-packages if it exists.
Due to the same reason, it’s also not possible to run “pysetup3.1 metadata” in the distutils2 repo, or “pysetup2.4 metadata” in the distutils2-python3 repo.
Because of sys.path initialization, d2 tried to import docutils from the working directory instead of the version in site-packages. If I install d2 and run the installed pysetup script, d2 and docutils are imported from site-packages and everything is fine.
Activity
merwok commentedon Sep 7, 2011
I tried to run “pysetup metadata” in a docutils source directory but the program failed, because packaging tries to import docutils and it picks up the 2.x version in the local directory.
The import chain is: pysetup → packaging.run → packaging.metadata → docutils
I could edit sys.path in pysetup, but that would mean that people calling “python3.y -m packaging.run” would not get the fix. Another idea would be to catch both ImportError and SyntaxError when packaging.metadata tries to import docutils, but it would be better to find the 3.x version of docutils in site-packages if it exists.
What do you import experts think?
merwok commentedon Nov 23, 2011
Due to the same reason, it’s also not possible to run “pysetup3.1 metadata” in the distutils2 repo, or “pysetup2.4 metadata” in the distutils2-python3 repo.
merwok commentedon Nov 24, 2011
This is a problem on my side, not in distutils2. My pysetupX.Y scripts are just shell one-liners of this form:
PYTHONPATH=~/path/to/d2 pythonX.Y -m distutils2.run "$@"
Because of sys.path initialization, d2 tried to import docutils from the working directory instead of the version in site-packages. If I install d2 and run the installed pysetup script, d2 and docutils are imported from site-packages and everything is fine.