อัปเดตอีกครั้ง:
วิธีการต่อไปนี้อาจไม่ทำงานใน virtualenv รุ่นใหม่กว่า ก่อนที่คุณจะทำการปรับเปลี่ยน virtualenv เก่าคุณควรบันทึกการอ้างอิงในไฟล์ข้อกำหนด (pip freeze > requirements.txt
) และทำการสำรองข้อมูลจากที่อื่น หากมีสิ่งใดผิดพลาดคุณยังคงสามารถสร้าง virtualenv ใหม่และติดตั้งการอ้างอิงเดิมใน (pip install -r requirements.txt
)
อัปเดต:ฉันเปลี่ยนคำตอบ 5 เดือนหลังจากที่ฉันตอบ วิธีการต่อไปนี้สะดวกและแข็งแกร่งยิ่งขึ้น
ผลข้างเคียง:นอกจากนี้ยังแก้ไขSymbol not found: _SSLv2_method
ข้อยกเว้นเมื่อคุณทำimport ssl
ในสภาพแวดล้อมเสมือนหลังจากอัพเกรด Python เป็น v2.7.8
หมายเหตุ:ปัจจุบันนี้เป็นงูหลาม 2.7.x เท่านั้น
หากคุณใช้ Homebrew Python บน OS X อันดับแรกdeactivate
ให้ virtualenv ทั้งหมดจากนั้นอัพเกรด Python:
brew update && brew upgrade python
รันคำสั่งต่อไปนี้ ( <EXISTING_ENV_PATH>
เป็นพา ธ ของสภาพแวดล้อมเสมือนของคุณ):
cd <EXISTING_ENV_PATH>
rm .Python
rm bin/pip{,2,2.7}
rm bin/python{,2,2.7}
rm -r include/python2.7
rm lib/python2.7/*
rm -r lib/python2.7/distutils
rm lib/python2.7/site-packages/easy_install.*
rm -r lib/python2.7/site-packages/pip
rm -r lib/python2.7/site-packages/pip-*.dist-info
rm -r lib/python2.7/site-packages/setuptools
rm -r lib/python2.7/site-packages/setuptools-*.dist-info
ในที่สุดสร้างสภาพแวดล้อมเสมือนจริงของคุณ:
virtualenv <EXISTING_ENV_PATH>
ด้วยการทำเช่นนั้นไฟล์หลักของ Python เก่าและไลบรารี่มาตรฐาน (บวก) setuptools
และpip
) จะถูกลบออกในขณะที่site-packages
ไลบรารี่แบบกำหนดเองที่ติดตั้งในนั้นจะได้รับการเก็บรักษาและใช้งานได้ทันทีที่อยู่ใน Python บริสุทธิ์ ไลบรารีไบนารีอาจหรืออาจไม่จำเป็นต้องติดตั้งใหม่เพื่อให้ทำงานได้อย่างถูกต้อง
สิ่งนี้ใช้ได้กับฉันใน 5 สภาพแวดล้อมเสมือนจริงที่ติดตั้ง Django
BTW หาก./manage.py compilemessages
ไม่ทำงานหลังจากนั้นให้ลองทำดังนี้:
brew install gettext && brew link gettext --force