สภาพแวดล้อมเสมือนของ Python ใช้เพื่อสร้างสภาพแวดล้อมของ Python ที่แยกได้เพื่อหลีกเลี่ยงการพึ่งพาและความขัดแย้งของรุ่นและยังดูแลปัญหาการอนุญาตทางอ้อมด้วย แต่วิธีที่ง่ายที่สุดในการตั้งค่าและใช้งานใน Ubuntu คืออะไร?
สภาพแวดล้อมเสมือนของ Python ใช้เพื่อสร้างสภาพแวดล้อมของ Python ที่แยกได้เพื่อหลีกเลี่ยงการพึ่งพาและความขัดแย้งของรุ่นและยังดูแลปัญหาการอนุญาตทางอ้อมด้วย แต่วิธีที่ง่ายที่สุดในการตั้งค่าและใช้งานใน Ubuntu คืออะไร?
คำตอบ:
virtualenvwrapper(wrappers ที่ใช้งานง่ายสำหรับการทำงานของvirtualenv)ติดตั้งvirtualenvด้วย
sudo apt-get install virtualenv
(สำหรับ Ubuntu 14.04 (เชื่อถือได้) ติดตั้งpython-virtualenv)
เหตุผลที่เราติดตั้งvirtualenvwrapperก็เพราะมันมีคำสั่งที่ดีและง่ายในการจัดการสภาพแวดล้อมเสมือนของคุณ มีสองวิธีในการติดตั้งvirtualenvwrapper:
วิ่ง
sudo apt install virtualenvwrapper
จากนั้นเรียกใช้
echo "source /usr/share/virtualenvwrapper/virtualenvwrapper.sh" >> ~/.bashrc
ติดตั้งและ / หรืออัพเดท pip
ติดตั้ง pip สำหรับ Python 2 ด้วย
sudo apt-get install python-pip
หรือ Python 3
sudo apt-get install python3-pip
(ถ้าคุณใช้ Python 3 คุณอาจต้องใช้pip3แทนpipในส่วนที่เหลือของคู่มือนี้)
ไม่บังคับ (แต่แนะนำ):เปิดใช้งานการเติมข้อความอัตโนมัติของ bash สำหรับ pip
วิ่ง
pip completion --bash >> ~/.bashrc
และเรียกใช้source ~/.bashrcเพื่อเปิดใช้งาน
ติดตั้ง virtualenvwrapper
เพราะเราต้องการหลีกเลี่ยงsudo pipเราติดตั้งvirtualenvwrapperในเครื่อง (โดยค่าเริ่มต้นภายใต้~/.local) ด้วย:
pip install --user virtualenvwrapper
และ
echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3" >> ~/.bashrcแหล่งที่มา virtualenvwrapper ใน .bashrc
echo "source ~/.local/bin/virtualenvwrapper.sh" >> ~/.bashrcก่อนอื่นเราส่งออกWORKON_HOMEตัวแปรซึ่งมีไดเรกทอรีที่จะเก็บสภาพแวดล้อมเสมือนของเรา มาทำสิ่งนี้กัน~/.virtualenvs
export WORKON_HOME=~/.virtualenvs
ตอนนี้ยังสร้างไดเรกทอรีนี้
mkdir $WORKON_HOME
และนำการส่งออกนี้ไปไว้ใน~/.bashrcไฟล์ของเราเพื่อให้ตัวแปรนี้ถูกกำหนดโดยอัตโนมัติ
echo "export WORKON_HOME=$WORKON_HOME" >> ~/.bashrc
นอกจากนี้เรายังสามารถเพิ่มเทคนิคพิเศษบางอย่างเช่นต่อไปนี้ซึ่งทำให้แน่ใจว่าหากpipสร้างสภาพแวดล้อมเสมือนจริงเพิ่มเติมมันจะอยู่ในWORKON_HOMEไดเรกทอรีของเราด้วย:
echo "export PIP_VIRTUALENV_BASE=$WORKON_HOME" >> ~/.bashrc
แหล่งที่มา ~ / .bashrc เพื่อโหลดการเปลี่ยนแปลง
source ~/.bashrc
ทดสอบถ้ามันใช้งานได้
ตอนนี้เราสร้างสภาพแวดล้อมเสมือนจริงครั้งแรกของเรา -pอาร์กิวเมนต์เป็นตัวเลือกก็จะถูกใช้ในการตั้งรุ่นหลามต่อการใช้งาน มันสามารถเป็นpython3ตัวอย่าง
mkvirtualenv -p python2.7 test
คุณจะเห็นว่าสภาพแวดล้อมจะได้รับการตั้งค่าและในตอนนี้พรอมต์ของคุณจะรวมชื่อของสภาพแวดล้อมที่ใช้งานอยู่ในวงเล็บ นอกจากนี้ถ้าคุณเรียกใช้ตอนนี้
python -c "import sys; print sys.path"
คุณควรเห็นมาก/home/user/.virtualenv/...เพราะตอนนี้ไม่ได้ใช้แพคเกจไซต์ระบบของคุณ
คุณสามารถปิดการใช้งานสภาพแวดล้อมของคุณโดยการเรียกใช้
deactivate
และถ้าคุณต้องการทำงานอีกครั้งเพียงพิมพ์
workon test
สุดท้ายหากคุณต้องการลบสภาพแวดล้อมให้พิมพ์
rmvirtualenv test
สนุก!
ขอบคุณผู้เขียนบล็อกนี้
--no-site-packagesเป็นค่าเริ่มต้นและ--distributeเลิกใช้แล้ว
mkvirtualenv testใช้งานไม่ได้ดู: stackoverflow.com/questions/15608236/…
สภาพแวดล้อมเสมือนจริงมีวิธีในการจัดการและแยกการพึ่งพาบนพื้นฐานต่อโครงการ นอกจากนี้พวกเขายังหลีกเลี่ยงทั้งsudo pip installสถานการณ์ซึ่งเป็นความเสี่ยงด้านความปลอดภัยที่ผมได้อธิบายไว้ในhttps://askubuntu.com/a/802594/15003 เอกสารหลามอย่างเป็นทางการนอกจากนี้ยังส่งเสริมการใช้สภาพแวดล้อมเสมือน
วิธีที่ง่ายที่สุดในการสร้างและใช้สภาพแวดล้อมเสมือนจริงสำหรับทั้งงูหลาม 2 และ Python 3 คือการติดตั้งvirtualenvใช้หรือapt apt-getสำหรับแต่ละโครงการ Python ให้สร้าง virtualenv จากนั้นเปิดใช้งาน โปรดทราบว่า virtualenv นั้นใช้สำหรับ Python รุ่นใดรุ่นหนึ่งโดยเฉพาะ หลังจากเปิดใช้งานให้ใช้pipเพื่อติดตั้งแพ็กเกจ Python ตามปกติไม่ว่าคุณจะใช้ Python 2 หรือ 3 ก็ตาม ไม่จำเป็นต้องใช้pip3สำหรับ Python 3 sudoเท่านั้นใช้ในการติดตั้งvirtualenvและไม่ได้ใช้กับpipดังนั้นจึงหลีกเลี่ยงความเสี่ยงด้านความปลอดภัยดังกล่าว คำสั่งที่ต้องทำคือ:
sudo apt update
sudo apt install virtualenv
cd ~/desired_directory # cd to desired_directory
virtualenv venv # create virtualenv named venv for default system Python, which is Python 2 for Ubuntu
source venv/bin/activate # activate virtualenv
pip install -U pip # upgrade pip in case it is outdated
pip install desired_package # install desired_package
หากคุณต้องการสร้าง virtualenv สำหรับ Python 3 ให้แทนที่virtualenv venvด้วย:
virtualenv venv -p python3
อ่านเพิ่มเติมเกี่ยวกับระฆังและนกหวีดต่างๆสำหรับvirtualenvที่https://virtualenv.pypa.io/en/stable/
sourceช่วยฉันได้มากคำสั่ง
มันเป็นเรื่องง่ายที่คุณติดตั้งหลาม virtualenv จากนั้นคุณสามารถสร้าง virtualenv ด้วยvirtualenvคำสั่ง ดูเอกสารประกอบของพวกเขาสำหรับข้อมูลเพิ่มเติม
สภาพแวดล้อมเสมือนจริง (venvs) ได้รับความนิยมมากจนทำให้ฟังก์ชั่นนี้รวมอยู่ในหลามเอง (จาก 3.3 เป็นต้นไป) ในการใช้งานบน Ubuntu คุณต้องติดตั้งpython3-venv(เนื่องจากensurepipโมดูลไม่พร้อมใช้งาน):
sudo apt-get install python3-venv
หลังจากนั้นคุณสามารถใช้
pyvenv myvirtualenv
myvirtualenvเพื่อสร้างสภาพแวดล้อมเสมือนจริงที่เรียกว่า จากนั้นคุณสามารถใช้
source myvirtualenv/bin/activate
เพื่อเปิดใช้งานสภาพแวดล้อมเสมือน หากต้องการปิดใช้งานเพียงพิมพ์
deactivate
แก้ไข:สคริปต์ได้เลิกในความโปรดปรานของpyvenv python3 -m venvวิธีนี้จะช่วยป้องกันความสับสนว่า Python interpreter pyvenvเชื่อมต่อกับอะไรและจะใช้ Python interpreter ใดในสภาพแวดล้อมเสมือน (ที่มา )
python-pipและpython-virtualenvสามารถติดตั้งได้ผ่าน Ubuntu repsitory ไม่จำเป็นต้องติดตั้งด้วยตนเอง