1.1.3. Python Environment Overview#
Có 2 loại thường được sử dụng là:
venv
: tạo môi trường python mớiconda
: tạo môi trường conda mới
1.1.3.1. venv - virtual environments#
Khởi tạo venv
python -m venv </path/to/new/virtual/environment>
Để khởi tạo
venv
với môi trường python cụ thể nào đó, ta cần cài python version đó trước khi khởi tạo môi trường mới
# Window: Cài đặt python@3.9 trước
python3.9 -m venv new_env
# Ubuntu
sudo apt update
sudo apt install python3.9
python3.9 -m venv new_env
# Macos
brew install python@3.9
python3.9 -m venv new_env
Activate môi trường
# Window
.\new_env\Scripts\activate
# Linux/MacOS
source new_env/bin/activate
Deactivate
deactivate
List vent
deactivate
1.1.3.2. Conda environment#
1. Tạo môi trường
conda create -n <env_name> python=<python_version>
Hoặc tạo môi trường từ environment.yaml
conda env create -f environment.yml
Thông thường môi trường sẽ được tạo trong ~/anaconda3/envs/
hoặc ~/miniconda3/envs/
chứ không lưu trữ trực tiếp tại project directory. Nếu muốn lưu trữ trực tiếp tại project
conda create --prefix ./env_name
2. Activate
conda activate <env_name>
Lúc này bạn sẽ thấy có “env_name” ở đầu command
3. Deactivate
conda deactivate
4. Để liệt kê các environments đã được cài đặt
conda env list
5. Để liệt kê danh sách packages cũng như version tương ứng
conda list
6. Để cài đặt một package
conda install <package_name>
# hoặc
conda install <package_name>==<version>
7. Update package
conda update <package_name>
8. Loại bỏ packages trong một môi trường bất kì
conda remove -n <name_env> <name_package>
9. Loại bỏ packages trong môi trường hiện tại
conda remove <name_package>
10. Export environment
conda env export > environment.yml
It should yield the following file:
name: conda_tutorial
channels:
- defaults
dependencies:
- ca-certificates=2022.4.26=hecd8cb5_0
- certifi=2021.10.8=py39hecd8cb5_2
- libcxx=12.0.0=h2f01273_0
- libffi=3.3=hb1e8313_2
- ncurses=6.3=hca72f7f_2
- openssl=1.1.1n=hca72f7f_0
- pip=21.2.4=py39hecd8cb5_0
prefix: /Users/vatsalpatel/anaconda3/envs/conda_tutorial
Sau đó có thể tạo môi trường từ file yaml
conda env create -f environment.yml
11. Clone environment
conda create --name <clone_name> --clone <existing_env_name>
12. Delete environment
conda remove --name <env_name> --all
1.1.3.3. pip#
Pip
được sử dụng để quản lý thư viện được sử dụng trong cả venv
và conda
, tuy nhiên trong conda
nên ưu tiên sử dụng conda native để cài đặt thư viện nếu có thể để tránh xung đột
1. Cài đặt thư viện
pip install <package_name>
# hoặc
pip install <package_name>==<version>
2. Upgrade thư viện
pip install --upgrade <package_name>
3. Xóa thư viện
pip uninstall <package_name>
4. Get info thư viện
pip show <package_name>
5. Để liệt kê danh sách packages cũng như version tương ứng
pip list
6. Export requirements.txt
pip freeze > requirements.txt
7. Install from requirements.txt
pip install -r requirements.txt
1.1.3.4. Environment Variable#
1.1.3.4.1. Create & use Env Vars#
In macOS | Linux | Bash
# You could create an env var MY_NAME with
export MY_NAME="Wade Wilson"
# Then you could use it with other programs, like
echo "Hello $MY_NAME"
Hello Wade Wilson
1.1.3.4.2. Read env vars in Python#
In python file main.py
:
import os
name = os.getenv("MY_NAME", "World")
print(f"Hello {name} from Python")
Run in bash
💬 Create an env var MY_NAME in line for this program call
MY_NAME="Wade Wilson" python main.py
💬 Now it can read the environment variable
Hello Wade Wilson from Python
💬 The env var no longer exists afterwards
python main.py
Hello World from Python