https://github.com/nguyenducquan12/virtual_environment_python
Tất cả kiến thức về làm việc môi trường ảo ở python mà mình tích lũy được. Nó giúp mình quản lý các dự án tốt hơn, có thể sử dụng nhiều phiên bản python cũng như các thư viện để không xung đột với nhau
https://github.com/nguyenducquan12/virtual_environment_python
python venv venv-python virtual-environments
Last synced: 2 months ago
JSON representation
Tất cả kiến thức về làm việc môi trường ảo ở python mà mình tích lũy được. Nó giúp mình quản lý các dự án tốt hơn, có thể sử dụng nhiều phiên bản python cũng như các thư viện để không xung đột với nhau
- Host: GitHub
- URL: https://github.com/nguyenducquan12/virtual_environment_python
- Owner: NguyenDucQuan12
- Created: 2024-06-24T02:31:58.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-30T01:34:22.000Z (about 1 year ago)
- Last Synced: 2025-01-07T01:52:54.335Z (12 months ago)
- Topics: python, venv, venv-python, virtual-environments
- Homepage:
- Size: 118 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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.12` và `python 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
## ⭐ Star History