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
It appears that the install_binary_dist function tries to create a missing subdirectory even if it doesn't have the permissions to do so.
More specifically, the issue appears while trying to install the greenlet package, which is supposed to install a header file in the include directory of the virtualenv. However pip-accel tries to create the directory $VIRTUAL_ENV/include/python2.7/greenlet which is problematic since $VIRTUAL_ENV/include/python2.7 is a symbolic link to /usr/local/include/python2.7 which is owned by root.
Pip works around this issue by installing the header file in $VIRTUAL_ENV/include/site/python2.7/.
Currently, since the installation procedure is interrupted, the virtual environment is left in a "semi-broken" state because greenlet is not really installed, but the egg-info is in place making pip think that greenlet is installed. Of course, running pip uninstall greenlet && pip install greenlet fixes the environment.
The text was updated successfully, but these errors were encountered:
Thanks for the clear bug report and suggested fix! I never knew Python package distributions could include C header files (although of course it makes sense in hindsight); I'm learning more and more about Python packaging as pip-accel matures :-). I just published pip-accel 0.9.7 to GitHub and PyPI. This new release should fix the bug you reported. Can you confirm?
It appears that the install_binary_dist function tries to create a missing subdirectory even if it doesn't have the permissions to do so.
More specifically, the issue appears while trying to install the greenlet package, which is supposed to install a header file in the include directory of the virtualenv. However pip-accel tries to create the directory $VIRTUAL_ENV/include/python2.7/greenlet which is problematic since $VIRTUAL_ENV/include/python2.7 is a symbolic link to /usr/local/include/python2.7 which is owned by root.
Pip works around this issue by installing the header file in $VIRTUAL_ENV/include/site/python2.7/.
Currently, since the installation procedure is interrupted, the virtual environment is left in a "semi-broken" state because greenlet is not really installed, but the egg-info is in place making pip think that greenlet is installed. Of course, running pip uninstall greenlet && pip install greenlet fixes the environment.
The text was updated successfully, but these errors were encountered: