Giới thiệu
Tôi đang phát triển với Python + Django, nhưng nếu tôi phụ trách nhiều dự án, các phiên bản của Python, Django và các thư viện khác sẽ khác nhau tùy thuộc vào dự án.
Trong một số trường hợp, cùng một phiên bản Python có các phiên bản khác nhau của các thư viện khác nhau, vì vậy việc lập phiên bản với pyenv
và venv
là rất hữu ích. Lần này, tôi sẽ tập trung vào các chức năng cần thiết tối thiểu và mô tả cách sử dụng nó.
Môi trường triển khai
Hệ điều hành: macOS Big Sur (phiên bản 11.2.2) Shell: zsh
hoặc là
Hệ điều hành: CentOS7 Shell: bash
pyenv
Bằng cách sử dụng pyenv, có thể sử dụng các phiên bản Python khác nhau.
Tại thời điểm của bài viết này, bạn có thể cài đặt từ 2.1.3 đến 3.9.1.
Cài đặt pyenv
Trong trường hợp của mac, có vẻ như nó có thể được cài đặt bằng Homebrew.
1 2 | $ brew install pyenv |
Người dùng Linux có thể tạo nó bằng git.
1 2 | $ git clone git://github.com/yyuu/pyenv.git ~/.pyenv |
Chỉnh sửa tệp cấu hình shell
Kiểm tra trình bao đăng nhập của bạn bằng echo $ SHELL. zsh → .zshrc (.zsh_profile) bash → .bash_profile
Phần sau được mô tả trong. Bạn có thể viết trực tiếp bằng vim, nhưng lần này chúng tôi sẽ sử dụng echo để đơn giản hóa.
1 2 3 4 | $ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc $ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc $ echo 'eval "$(pyenv init -)"' >> ~/.zshrc |
Cuối cùng, tệp cài đặt được phản ánh.
1 2 | $ source .zshrc #bashの方は .bash_profile |
Cài đặt phiên bản Python yêu cầu bằng pyenv
Vì pyenv có sẵn trong cài đặt trước đó, hãy kiểm tra phiên bản Python có sẵn.
1 2 | $ pyenv install --list |
Những người được hiển thị trong danh sách dưới dạng ○. ○. ○ có thể được cài đặt.
Cài đặt phiên bản pyenv bạn muốn sử dụng.
1 2 | $ pyenv install 3.9.1 # Install 3.9.1 this time |
chuyển đổi phiên bản pyenv
Kiểm tra phiên bản hiện tại.
1 2 | $ pyenv versions |
Hệ thống và phiên bản đã cài đặt được hiển thị.
Phiên bản được liệt kê bên cạnh " *
" là phiên bản được sử dụng trong thư mục hiện tại.
1 2 3 | * system (set by /○○/○○.pyenv/version) 3.9.1 |
Chuyển phiên bản Python để sử dụng.
Nó có thể được chia nhỏ theo thư mục, nhưng nó được bỏ qua lần này vì mục đích chính là sử dụng venv.
1 2 | $ pyenv global 3.9.1 |
Nếu bạn kiểm tra lại với các phiên bản pyenv, phiên bản mặc định đã được chuyển sang. (Bạn cũng có thể kiểm tra bằng cách khởi động Python với trình thông dịch)
1 2 3 | system * 3.9.1 (set by /○○/○○.pyenv/version) |
Bây giờ bạn đã sẵn sàng để tạo một môi trường ảo venv với phiên bản bạn muốn sử dụng.
Tạo môi trường venv
Vì venv có sẵn theo mặc định trong Python 3 series nên không cần cài đặt nó (nếu bạn đang sử dụng 2 series, bạn có thể thực hiện kiểm soát phiên bản tương tự bằng cách cài đặt virtualenv).
Thực hiện các bước sau trong thư mục mà bạn muốn tạo môi trường ảo.
1 2 | $ python -m venv venv_project #venv_project is any project name |
Vì thư mục venv_project
được tạo bên dưới nó, hãy di chuyển nó với cd venv_project
và kích hoạt môi trường ảo.
1 2 | $ source bin/activate |
Nếu thực thi thành công, nó sẽ được hiển thị trước tên máy chủ. Bây giờ bạn đang ở trong môi trường ảo.
1 2 | (venv_project)hostname$ |
Bằng cách kích hoạt môi trường ảo, các thư viện được cài đặt bằng pip có thể được quản lý độc lập với môi trường cục bộ.
Sau đó, hãy cài đặt và sử dụng phiên bản thư viện yêu cầu.
Lần cuối cùng bạn quay lại môi trường cục bộ, hãy hủy kích hoạt nó.
1 2 | $ deactivate # Can be executed even if it is not under the project directory |
Với những điều trên, có vẻ như việc kiểm soát phiên bản tối thiểu với python có thể được thực hiện.
Cuối cùng
Nếu bạn hiểu đúng cả pyenv và venv, bạn có thể sử dụng nó thuận tiện hơn.
Tuy nhiên, nếu bạn làm theo quy trình này, môi trường cục bộ sẽ vẫn ở trạng thái ban đầu, vì vậy tôi nghĩ bạn có thể ngăn chặn xung đột trong phiên bản.
Tôi hy vọng nó sẽ hữu ích cho bất cứ ai.