Python有一個venv模組,可以建立Python虛擬環境,這個虛擬環境,可以讓不同專案擁有各自的Python執行環境,各個環境與其下安裝的套件、模組、各自獨立不相干涉。不會因為某個版本的Python或套件升級,影響到其它專案。

Python虛擬環境的建立,很簡單,假設使用Python3.x版本,可在專案目錄下,執行:

python -m venv venv     

這裡2個venv,前面1個是指venv模組,後面一個是指放置虛擬環境的目錄,可以自定慣用的名稱。

如果出現底下類似的錯誤訊息,可先執行apt install python3.x-venv,安裝必須套件

 

root@localhost:/home/user# python3 -m venv venv
The virtual environment was not created successfully because ensurepip is not
available.  On Debian/Ubuntu systems, you need to install the python3-venv
package using the following command.

    apt install python3.10-venv

You may need to use sudo with that command.  After installing the python3-venv
package, recreate your virtual environment.

Failing command: ['/home/user/venv/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']

 

root@localhost:/home/user# apt install python3.10-venv     # 安裝 venv 模組
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  libpython3-stdlib libpython3.10 libpython3.10-minimal libpython3.10-stdlib python3 python3-distutils python3-lib2to3
  python3-minimal python3-pip-whl python3-setuptools-whl python3.10 python3.10-minimal
Suggested packages:
  python3-doc python3-tk python3-venv python3.10-doc binutils binfmt-support

                                       :

                                       :

Processing triggers for desktop-file-utils (0.26-1ubuntu3) ...
Processing triggers for gnome-menus (3.36.0-1ubuntu3) ...
root@localhost:/home/user# 

 

root@localhost:/home/user# python3 -m venv venv                # 安裝 venv 虛擬環境
root@localhost:/home/user# ll
total 0
drwxr-xr-x 3 root root 18  十  24 16:23 ./
drwxr-xr-x 4 root root 33  十  24  2022 ../
drwxr-xr-x 5 root root 74  十  24 16:23 venv/

 

 root@localhost:/home/user# source venv/bin/activate              # 進入虛擬環境
(venv) root@localhost:/home/user#                                           # prompt最前面出現 (venv) 提示

(venv) root@localhost:/home/user# which pip
/home/user/venv/bin/pip

(venv) root@localhost:/home/user# pip install <套件>                      # 安裝套件到虛擬環境

 

(venv) root@william-virtual-machine:/home/user/venv# deactivate       # 退出虛擬環境
root@william-virtual-machine:/home/user/venv#

 

 

 

No comments

Leave your comment

In reply to Some User