Tất cả thông tin về làm việc môi trường ảo ở python mà mình tích lũy được
Tạo một thư mục để chứa các dự án code với tên Venv_Python
Mở Visual studio code
--> Add folder to workspace
--> add Venv_Python
Mở Terminal của thư mục Venv_Python và thực hiện các câu lệnh từ bên dưới
Bước 1: Tạo môi trường ảo .camera_app
bên trong thư mục Venv_Python
:
python -m venv .camera_app --prompt="venv_project1"
Cách phía trên sẽ áp dụng phiên bản python mặc định của máy vào thư mục ảo
Để cài một phiên bản python khác ta sử dụng cách sau:
- Đầu tiên cần tải cài 1 phiên bản python khác từ trang chủ python (khi cài đặt nhớ tích vào ô add PATH ...)
- Tiếp theo chạy lệnh sau để xem đã có phiên bản python đã cài chưa
py --list
- Chạy lệnh sau để cài phiên bản python cụ thể, ví dụ với python 3.10:
py -3.10 -m venv .project_1 --prompt="project1_310"
Bước 2: Kích hoạt môi trường ảo bằng terminal
bằng cách vào thư mục .camera_app\Scripts
và copy đường dẫn activate
:
.camera_app\Scripts\activate
Nếu mà không kích hoạt được ở terminal
khi gặp lỗi như hình ảnh bên dưới:
thì cần chạy lệnh này trước khi chạy lại lệnh trên: Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
Bước 3: Cài đặt các thư viện cần thiết:
python -m pip install -r requirements.txt
Nếu có chỉnh sửa, thay đổi thư viện thì thêm vào file bằng câu lệnh sau: python -m pip freeze > requirements.txt
Nếu xuất hiện lỗi: pip: Fatal error in ...
thì chạy 2 lệnh sau để khắc phục lỗi:
python -m pip install --upgrade --force -reinstall pip
python -m pip freeze
Khi import một số thư viện vào môi trường ảo thường sẽ gặp lỗi Import "newlibrary" could not be resolved
, tuy nhiên code vẫn hoạt động bình thường, lỗi xuất hiện nhìn khó chịu, vì vậy cần sửa như sau:
Bước 1: Mở setting
từ màn hình visual studio code
bằng cách nhấn Ctrl + ,
và tìm kiếm từ khóa pylance
và tìm đến mục Python>Analysis: Extra Paths
rồi thêm đường dẫn thư viện của dự án đang làm việc như hình ảnh:
Bước 2: Nhấn OK
để lưu và lỗi sẽ mất nếu thư viện đó bạn đã cài bằng pip
Khi import một hàm từ file python khác như mô đun bằng đường dẫn tuyệt đối nhưng không được, còn đường dẫn tương đối thì được (không nên sử dụng đường dẫn tương đối)
Đường dẫn tương đối là sử dụng from ....service.schemas import function
, không nên sử dụn cách này
Sử dụng đường dẫn tuyệt đối
Để có thể nhập được đường dẫn tuyệt đối (import hàm của thư mục cha vào thư mục con)
Bước 1: Chuột phải vào This PC
chọn Properties
Chọn Advanced system settings
và vào Enviroment Variable
Bước 2: Chọn New
trong mục System Variable
và điền thông tin như sau
Variable Name
sẽ là PYTHONPATH
Variable value
sẽ là đường dẫn đến dự án cảu bản thân
Sau đó mở lại visual studio code và import các hàm của thư mục khác
Đầu tiên cần đặt Breakpoint
tại các dòng code sinh ra rỗi, hoặc bạn nghi dòng đó có thể dẫn đến lỗi
Ví dụ ở hình ảnh phía trên là đặt Breakpoint
ở dòng 225 bằng cách click chuột
vào bên trái dòng 225 là được.
- Mở bảng điều khiển
Nhấn
Ctrl+Shift+P
và tìm kiếmPython: Select interpreter
như ảnh dưới:
- Chọn thư mục chứa môi trường ảo và chọn phiên bản python phù hợp theo cú pháp
python x.xx.x ('name_folder':venv)
:
Nếu không hiển thị môi trường ảo của bạn vừa tạo thì ấn Enter interpreter path..
xong ấn find
vào thư mục thoe đường dẫn project/Scripts/python.exe
và chọn
- Xong nhấn
F5
để debug
- Thêm file
launch.json
Nhấn vào tabdebug
bên trái và chọn mũi tên xuống dưới để thêm filelaunch.json
:
- Chọn
add config (thư mục ảo cần debug)
và thêm dòng :"justMyCode": false
.
- Lưu lại file và nhấn 1 trong 2 lựa chọn bên dưới để debug
F5 và 2 bấm nút 2 lựa chọn
sẽ cho hai kết quả khác nhau