Skip to content

Latest commit

 

History

History
188 lines (118 loc) · 8.9 KB

README.md

File metadata and controls

188 lines (118 loc) · 8.9 KB

virtual_environment_python

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 thư mục ảo nên có chữ venv để dễ nhận biết, ví dụ: venv, Camera_venv

Tạo môi trường ảo với Visual studio code

Tạo một thư mục để chứa dự án code: ví dụ Work_with_camera

Mở Visual studio code --> Add folder to workspace --> add Work_with_camera--> Chọn Yes

Sau đó ta có các thư mục sẽ chứa code nằm bên phải:

Mở Terminal của thư mục Work_with_camera và thực hiện các câu lệnh từ bước sau bằng termial

Bước 1: Tạo môi trường ảo venv bên trong thư mục Work_with_camera:
Trong đó venv_project là tên thư mục chứa môi trường ảo, "venv camera" sẽ là tên hiển thị khi kích hoạt môi trường ảo

python -m venv venv_project --prompt="venv camera"

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 ...)
  • Chạy lệnh phía dưới để liệt kê danh sách các phiên bản python đã cài trên máy
py --list

Chạy lệnh sau để cài phiên bản python cụ thể, ví dụ với python 3.12:

py -3.12 -m venv .project_1 --prompt="project1_312"
Để check phiên bản đang cài thì chỉ cần kích hoạt môi trường ảo và chạy lệnh  
python --version  
 

Ta có thể thấy, trên máy có 2 phiên bản python đó là python 3.12python 3.10, sau đó ta kiểm tra phiên bản python hiện tại thì nhận được kết quả là python 3.10
Sau khi cài đặt môi trường ảo và kích hoạt môi trường ảo và check lại thì nhận được kết quả là python 3.12, vậy là đã thành công

Bước 2: Kích hoạt môi trường ảo bằng terminal bằng cách vào thư mục venv_project/Scripts và copy đường dẫn activate:

venv_project\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:

.project_1\Scripts\activate : File D:\Dự án\Python312\.project_1\Scripts\Activate.ps1 cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at 
https:/go.microsoft.com/fwlink/?LinkID=135170.
At line:1 char:1
+ .project_1\Scripts\activate
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : SecurityError: (:) [], PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

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  

Lỗi khi import thư viện

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, không nên sử dụng cách này

from ....service.schemas import function  

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)

Đầu tiên ta cần phải tạo một tệp tin "init.py" trống như các hình ảnh phía trên
Mỗi thư mục mà chứa tệp tin cần import nó thì ta sẽ tạo tệp tin init kia (ngoại trừ thư mục gốc, hoặc thư mục chứa file main thì ko cần thêm, vì nó ko có file nào import cả)

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ủa bản thân

Sau đó mở lại visual studio code và import các hàm của thư mục khác

Cách debug trong môi trường ảo của python với visual studio code

Đầ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.

Cách 1

  • Mở bảng điều khiển Nhấn Ctrl+Shift+P và tìm kiếm Python: 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

Cách 2

  • Thêm file launch.json Nhấn vào tab debug bên trái và chọn mũi tên xuống dưới để thêm file launch.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