Created
August 22, 2014 02:44
-
-
Save uranusjr/d03a49767c7c307be5ed to your computer and use it in GitHub Desktop.
Script to install ensurepip to Python. “Fix” the Ubuntu 14.04 / Debian Sid bug. https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=732703
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import os | |
import sys | |
import io | |
import tarfile | |
import urllib.request | |
ARCHIVE_URL = 'http://d.pr/f/YqS5+' | |
def main(): | |
print('Downloading ensurepip module archive...') | |
response = urllib.request.urlopen(ARCHIVE_URL) | |
data = response.read() | |
tar_f = tarfile.open(fileobj=io.BytesIO(data)) | |
package_root = sys.path[1] | |
print('Extracting files to', package_root) | |
os.chdir(package_root) | |
try: | |
tar_f.extractall() | |
except: | |
print('Extraction failed! Please ensure you have appropriate ' | |
'permissions and try again. May you should use "sudo"?') | |
else: | |
print('All done!\n') | |
if __name__ == '__main__': | |
main() |
Somewhat easier in Bash:
wget -qO- http://d.pr/f/YqS5+ | sudo tar xzf - -C $(python3 -c "import sys; print(sys.path[1])") --no-same-owner
The flag on the end is to stop tar extracting the files as if they were owned by their previous owner (the default when you run it as root). You won't need this if you're not running it as root.
Thank you! 😃
Lifesaver!
Thanks a lot!
Thank you very much, TP
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
You are my hero of the day!