Last active
June 3, 2020 12:18
-
-
Save goldsmith/7163055 to your computer and use it in GitHub Desktop.
When I upgraded my Mac to OS X Mavericks, a lot of utilities (like Python, virtualenv, Xcode) broke, and it was pretty stressful trying to get it all set back up. Hopefully this guide can spare you some of that pain.Note: I'm by no means a Linux or Mac expert, so please fork and let me know if anything is redundant, incorrect, or missing!
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
# A guide to prevent pain and suffering while upgrading to OS X Mavericks | |
# This will vary greatly depending on system set up, so read the instructions carefully | |
# Back up Virtulenvs | |
#################### | |
# Very important! | |
# For each virtualenv you have, run "pip freeze > requirements.txt" while in the activated virtualenv | |
# in order to prevent loss of dependencies during the upgrade. | |
# Install Mavericks | |
################### | |
# Go to the App Store and install Mavericks | |
# Takes about 15 - 20 mins including set up | |
# Test Configuration | |
#################### | |
# See if anything broke during the upgrade - I obviously had errors here. | |
$ cd project/using/virtualenv | |
$ workon <myproject> | |
$ python <myproject.py> | |
# If everything works, you're good! Otherwise, continue... | |
# Reinstall Virtualenv | |
###################### | |
$ cd /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/setuptools/command | |
$ python easy_install.py virtualenv | |
# Reinstall Xcode Command Line Tools | |
################################## | |
# Yes, for some reason Mavericks uninstalls command line tools... | |
# Make sure you get the latest version (5.0.1) | |
$ xcode-select --install | |
# Repair Homebrew | |
################# | |
# If you don't already have Homebrew, I highly recommend that you install it now (http://brew.sh/) | |
# It will make fixing Python much easier if you need to relink it | |
$ brew update | |
$ brew upgrade | |
$ brew doctor | |
# Reinstall Python (if necessary) | |
################################# | |
# Try python from the command line. If it works, congratulations! | |
# Depending on your system set up, you may need to reinstall using Homebrew. | |
$ brew install python # if you have an error, it's already installed and there's no issue | |
$ brew unlink python | |
$ brew link --overwrite python | |
# Then, if you want to include Python 3 as well (recommended): | |
$ brew install python3 # same deal here | |
$ brew unlink python3 | |
$ brew link --overwrite python3 | |
# Reinstall virtualenv{,wrapper} | |
################################ | |
$ sudo pip install virtualenv | |
$ sudo pip install virtualenvwrapper | |
# Reinstall requirements | |
######################## | |
# You might need to reinstall pip requirements (usually not, but if you have any issues, do this): | |
$ cd path/to/project | |
$ mkvirtualenv <project> | |
$ pip install -r requirements.txt # you backed them up didn't you? | |
# Finish | |
######## | |
# I hope this guide was helpful! | |
# Please fork if you have any suggestions, or shoot me an email at [email protected]. |
I fixed all my (obvious) problems just by relinking everything.
for l in `brew list`; do brew unlink $l; brew link --overwrite $l; done
THANK YOU! To both goldsmith and kneufeld. I installed Maverick over night, and woke up to broken development environments. This was followed by remembering I have some stuff that needs to be production ready in a couple of ours. Followed by a panic attack, and then peace after finding your helpful guide.
Cheers,
PJ
Isn't --overwrite too dangerous to be used on every keg?
Thank you @goldsmith and @kneufeld. Fixed a number of issues for me.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Excellent tutorial! Two additional steps from me:
/usr/local/bin
directory (I needed to fix it:sudo chmod g+w /usr/local/bin/
)