Tạo môi trường ảo cho Python (Python Virtual Environment)
Vấn đề
- Hiện tại bạn đang phát triển nhiều dự án Python cùng một lúc.
- Mỗi dự án lại dùng một phiên bản Python khác, thư viện với nhiều phiên bản.
- Mỗi khi chuyển qua lại các dự án thì bạn phải gỡ cài đặt các thư viện dự án cũ, và cài đặt các gói thư viện dự án mới mất rất nhiều thời gian.
➡️ Vì thế bạn cần phải có môi trường phát triển riêng cho từng dự án (như hình minh họa)
Giải pháp
- Trong bài viết này mình sẽ chia sẻ về Python Virtual Environment hay còn gọi tắt là venv.
- Một giải pháp khác là Conda. Bạn có thể tham khảo trên trang chủ của Ana Conda.
Tạo và kích hoạt môi trường ảo
#1. Cách thủ công
-
Để tạo venv bạn chạy lệnh
python -m venv <tên folder chứa venv>
Mình hay dùng tên folder đó là .venv nên câu lệnh tạo venv sẽ là
python -m venv .venv
- Note: Nếu ở trên MacOS hoặc Linux thì bạn dùng lệnh
python3
thay chopython
nhé.
- Note: Nếu ở trên MacOS hoặc Linux thì bạn dùng lệnh
-
Để kích hoạt venv trên Windows
.\.venv\Scripts\activate
- Note: Với MacOS hoặc Linux bạn dùng lệnh
source .venv/bin/activate
✅️ Khi terminal của bạn có chữ
(.venv)
thì đã kích hoạt thành công rồi nhé 🙌(.venv) PS C:\Users\admin\Desktop\test>
#2. Tạo trong Visual Studio Code
-
Trước tiên bạn cần phải cài extension Python cho visual code.
-
Giờ bạn tổ hợp phím Ctrl + Shift + P và gõ
Python: Create Evironment..
-
Ở đây bạn chọn Venv nhé
-
Ở đây sẽ hiển thị hết phiên bản Python trong máy bạn. Hãy chọn phiên bản phù hợp với dự án của bạn.
-
Ở bước này sẽ liệt kê hết các file quản lý gói
requirements
(nếu có). Bạn tick chọn những file cài đặt gói thư viện và nhấn OK -
Khi thành công dự án sẽ có thêm thư mục
.venv
-
Giờ bạn mở một file Python bất kỳ sẽ thấy Visual Studio Code đã chọn
Interpreter
là.venv
là đã thành công rồi
Lưu ý: Hiện tại trên Visual code trên Windows mình không biết vì sao khi dùng Terminal thì không có chữ (.venv)
. Tuy nhiên sẽ có thông báo đã kích hoạt venv rồi. Còn các IDE khác như Pycharm thì vẫn hoạt động bình thường.
Các lỗi thường gặp
-
Với Windows 8.1 trở lên. Việc kích hoạt venv đôi khi sẽ sinh ra lỗi
PS C:\django\admin\code_snippets\Django_Blog> venv/Scripts/activate File C:\django\admin\code_snippets\Django_Blog\.venv\Scripts\activate.ps1 cannot be loaded because the execution of scripts is disabled on this system. Please see "get-help about_signing" for more details. At line:1 char:22 + venv/Scripts/activate <<<< + CategoryInfo : NotSpecified: (:) [], PSSecurityException + FullyQualifiedErrorId : RuntimeException
Lúc này bạn mở PowerShell với quyền Adminstrator và dán lệnh
Set-ExecutionPolicy Unrestricted -Force
Nguồn tham khảo
All rights reserved