สภาพแวดล้อมเสมือนของ 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 ไม่จำเป็นต้องติดตั้งด้วยตนเอง