Bạn không thể hoàn thành một dự án ngoài đời thực bằng Python mà không có môi trường ảo. Các công cụ như virtualenvwrapper và virtualenv thường dùng để tạo và quản lý môi trường ảo để phát triển web, trong khi anaconda được các nhà khoa học dữ liệu sử dụng rộng rãi.
Hãy xem xét cách bạn nên tạo và quản lý các môi trường ảo Python của mình bằng các công cụ quản lý khác nhau có sẵn.
Cách môi trường ảo hoạt động
Khi bạn tạo một môi trường ảo, bạn đang hướng dẫn máy của mình tạo một bản sao tạm thời bổ sung của Python. Bản sao đó độc lập với phiên bản Python trên biến hệ thống của bạn. Nếu bạn không quen với điều này, hãy xem những điều cơ bản về môi trường ảo Python .
Môi trường ảo được tạo ra không chỉ hoạt động; bạn sẽ cần phải kích hoạt nó. Trên thực tế, bất cứ điều gì bạn làm bên ngoài môi trường ảo sẽ không hoạt động nếu không được kích hoạt. Đây là một cách để giữ cho không gian toàn cầu của bạn sạch sẽ hơn rất nhiều.
Nguyên tắc cơ bản là các phụ thuộc trong A ảo sẽ không hoạt động đối với B ảo --- trừ khi bạn cài đặt phụ thuộc dành riêng cho B ảo.
Mặc dù vậy, một cạm bẫy phổ biến đối với hầu hết người mới và thậm chí một số chuyên gia là cài đặt các phụ thuộc của họ trong không gian chung trước khi kích hoạt. Điều đó sẽ không bao giờ hiệu quả; bạn nên luôn kích hoạt trước khi cài đặt phụ thuộc.
Như đã đề cập trước đó, Python tồn tại các công cụ quản lý môi trường khác nhau. Chúng ta hãy xem nhanh từng cái, bao gồm cách chúng hoạt động và những thiếu sót có thể có của chúng.
1. Virtualenv
Virtualenv là một công cụ quản lý tuyệt vời dành cho những người biết cách xử lý nó. Nó khá đơn giản, mặc dù nó có thể gây khó chịu cho người mới bắt đầu.
Để tạo môi trường ảo với nó trên Windows, hãy mở cửa sổ Command Prompt đến vị trí bạn đã chọn. Nhập mkdir [Folder]
để tạo một thư mục mới, thay thế văn bản và dấu ngoặc bằng tên bạn đã chọn.
Tiếp theo, gõ cd [Folder]
để chuyển vào thư mục mới, tiếp theo là lệnh virtualenv [Environment Name]
tạo môi trường ảo.
Nếu bạn chưa quen với dòng lệnh, hãy xem một số lệnh Command Prompt cần thiết mà bạn nên biết .
Tiếp theo, thay đổi các thư mục vào môi trường ảo của bạn bằng cách nhập cd [Environment Name]
. Khi bạn đã ở bên trong [Tên môi trường] , hãy nhập cd Scripts
; đảm bảo sử dụng chữ hoa S trong Scripts . Khi bạn đang ở trong thư mục Scripts, hãy kích hoạt môi trường ảo bằng cách nhập activate
.
Một nhược điểm lớn của việc sử dụng virtualenv là bạn phải ở trong thư mục Scripts của nó để kích hoạt nó. Vì vậy, bạn sẽ cần phải thực hiện rất nhiều điều hướng xung quanh. Ví dụ: nếu dự án của bạn nằm trong một thư mục khác, bạn sẽ phải điều hướng trở lại nó từ thư mục Scripts môi trường. Quá trình này có thể trở nên mệt mỏi, khó hiểu và kém hiệu quả.
Để giảm bớt công việc bận rộn và tiết kiệm thời gian, một phương pháp hay là tạo môi trường ảo trong cùng một thư mục mà bạn định đặt dự án của mình. Bằng cách này, mỗi dự án sẽ có môi trường cụ thể bên trong thư mục chứa của nó.
Điều đó có thể giúp bạn tiết kiệm rất nhiều rắc rối khi cố gắng nhớ lại môi trường ảo cụ thể cho một dự án, trong trường hợp bạn có các môi trường ảo khác nhau cho các dự án khác nhau.
Hãy xem hình ảnh bên dưới để biết cách thực hiện điều này. Lưu ý rằng myproject và myvirtual lần lượt là thư mục dự án và môi trường ảo.
2. Virtualenvwrapper
Như tên của nó, virtualenvwrapper bao bọc tất cả các môi trường của bạn trong một thư mục duy nhất. Không giống như virtualenv, nó tạo thư mục đó theo mặc định và đặt tên là Envs .
Lưu ý rằng lệnh cài đặt cho virtualenvwrapper trên Windows là pip install virtualenvwrapper-win
. Nhưng pip install virtualenvwrapper
sẽ hoạt động cho macOS.
Để tạo môi trường ảo bằng công cụ này, hãy mở CMD; bạn không cần phải điều hướng vào thư mục dự án của mình. Khi ở dòng lệnh, hãy nhập mkvirtualenv envname
. Nó tạo ra một môi trường ảo được kích hoạt trước cho bạn.
Lần tới khi bạn muốn sử dụng môi trường đã tạo, một phương pháp hay là mở Command Prompt trực tiếp trong thư mục dự án của bạn. Bạn có thể thực hiện việc này bằng cách mở thư mục của dự án và nhập cmd vào hộp điều hướng lớn ở đầu bảng điều khiển.
Khi bạn đã ở trong CMD, hãy sử dụng lệnh workon envname
để kích hoạt môi trường ảo của bạn.
Mặc dù công cụ này khá tiện dụng và dễ sử dụng, nhưng nó sẽ trở thành một vấn đề khi bạn quên tên bạn đã đặt cho môi trường cho một dự án cụ thể. Đó là điều phổ biến khi bạn đã có hàng tá môi trường ảo trong một thư mục Envs đó.
Tuy nhiên, thật lãng phí thời gian nếu bạn phải tiếp tục thử từng môi trường để xem môi trường nào hoạt động. Để giải quyết vấn đề này, hãy luôn đảm bảo rằng bạn xóa các môi trường ảo dư thừa trong thư mục Envs của mình.
3. Phân phối Anaconda
Phân phối Anaconda là một giải pháp quản lý môi trường nặng được tạo ra cho khoa học dữ liệu. Mặc dù, tùy thuộc vào sở thích, nó vẫn được sử dụng trong phát triển web. Công cụ này đi kèm với bộ điều hướng cho phép bạn tạo và quản lý môi trường của mình.
Nó tự động hơn thủ công và hoạt động như một sự kết hợp của các gói virtualenv và pip . Điều này có nghĩa là bạn luôn có thể sử dụng conda install
để cài đặt các phụ thuộc thay vì pip . Nhưng vì một số lý do, conda dường như bị hạn chế về khả năng cài đặt gói.
Một giải pháp cho hạn chế này là cài đặt pip trong môi trường chung cư của bạn bằng conda install pip
lệnh. Trong một số trường hợp, điều đó có thể không cần thiết, vì việc gọi pip trực tiếp trong môi trường chung cư mà không cần cài đặt pip vẫn hoạt động.
Tuy nhiên, conda không được khuyến khích cho những người mới sử dụng Windows, vì việc thiết lập nó đòi hỏi một số kỹ thuật. Điều đó nằm ngoài phạm vi của cuộc thảo luận này, nhưng để có ý tưởng nhanh, bạn sẽ cần thêm bản phân phối Anaconda vào đường dẫn hệ thống của mình.
Lưu ý rằng Anaconda cũng có một shell tích hợp, được gọi là Anaconda shell, thực hiện các lệnh giống như CMD. Bạn có thể dùng thử bằng cách tìm kiếm lời nhắc Anaconda qua thanh tìm kiếm của Windows.
Để sử dụng chung cư như một công cụ quản lý môi trường, trước tiên bạn cần cài đặt bản phân phối Anaconda . Đảm bảo rằng bạn chọn đúng hệ điều hành trước khi bắt đầu tải xuống.
Sau khi thiết lập bản phân phối Anaconda của bạn, hãy mở dấu nhắc lệnh của bạn và nhập conda create envname
để tạo môi trường ảo của chung cư. Đối với người dùng Windows, conda không có sẵn để sử dụng trực tiếp trong dòng lệnh. Bạn sẽ phải gọi nó từ tệp loạt bằng cách sử dụng conda.bat create envname
.
Để kích hoạt một môi trường ảo đã được tạo, hãy sử dụng conda activate envname
. Nếu bạn là người dùng Windows, hãy nhập conda.bat activate envname
. Khi bạn mở Anaconda Navigator, tất cả các môi trường có sẵn sẽ được liệt kê ra.
Nâng cấp và hạ cấp phiên bản trong môi trường ảo
Nếu bạn đang thực hiện một dự án và cần thay đổi phiên bản của phụ thuộc, một cách dễ dàng để thực hiện điều đó là nâng cấp lên phiên bản mà bạn quan tâm.
Ví dụ: nếu bạn muốn nâng cấp phiên bản gấu trúc, hãy mở CMD của bạn và nhập python -m pip install --upgrade pandas==0.25
. Lệnh đó sẽ gỡ cài đặt phiên bản gấu trúc trước đó và cài đặt phiên bản mới được yêu cầu.
Nó khá giống nhau nếu bạn cần hạ cấp một phiên bản; tất cả những gì bạn cần làm là thay đổi số phiên bản. Bằng cách đó, bạn luôn có thể chuyển đổi các phiên bản phụ thuộc trong môi trường ảo mà không cần chuyển sang phiên bản mới.
Làm chủ môi trường ảo trong Python
Các công cụ môi trường ảo Python này rất tiện dụng và dễ tương tác. Đừng lo lắng về cái nào mà người khác cho là "tốt nhất;" nó nhiều hơn về sở thích của bạn. Công cụ phù hợp là công cụ phục vụ tốt nhất cho dự án của bạn.
Để biết thêm về Python, hãy xem cách lập trình và điều khiển Arduino của bạn bằng Python .