pyenv
https://github.com/pyenv/pyenv
Pyenv cho phép bạn quản lý nhiều phiên bản Python mà không cần sudo cho một người dùng, giống như Node.js NVM và Ruby RVM .
Cài đặt Pyenv:
curl https://pyenv.run | bash
Sau đó thêm vào .bashrc
:
export PATH="${HOME}/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
Tìm phiên bản Python để cài đặt:
pyenv install --list
Cài đặt phiên bản python bạn muốn:
# Increase the chances that the build will have all dependencies.
# https://github.com/pyenv/pyenv/wiki/Common-build-problems
sudo apt build-dep python3
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev python-openssl git
# Build and install a Python version from source.
pyenv install 3.8.0
Liệt kê các phiên bản Python có sẵn:
pyenv versions
Chúng tôi hiện có:
* system (set by /home/cirsan01/.pyenv/version)
3.8.0
Chọn một phiên bản python khác nhau:
pyenv global 3.8.0
python --version
python3 --version
Cả hai đầu ra:
Python 3.8.0
Bây giờ chúng ta có thể tiến hành cài đặt và sử dụng các gói thông thường:
pip install cowsay
python -c 'import cowsay; cowsay.tux("Python is fun")'
cowsay 'hello'
Chúng tôi có thể xác nhận rằng mọi thứ được cài đặt cục bộ trong môi trường sạch của chúng tôi với:
python -c 'import cowsay; print(cowsay.__file__)'
which cowsay
Mỗi dự án sử dụng
Trong phần trước, chúng ta đã thấy cách sử dụng pyenv trong một thiết lập toàn cầu.
Tuy nhiên, những gì bạn thường muốn là đặt một phiên bản gói và python cụ thể trên cơ sở từng dự án. Đây là cách để làm điều đó.
Đầu tiên cài đặt phiên bản Python mong muốn của bạn như trước.
Sau đó, từ bên trong thư mục dự án của bạn, đặt phiên bản python mong muốn với:
pyenv local 3.8.0
tạo một tệp .python-version
chứa chuỗi phiên bản.
Và bây giờ, hãy cài đặt một gói cục bộ chỉ dành cho dự án của chúng tôi: TODO: dường như không có cách nào hay: /programming/30407446/pyenv-choose-virtualenv-directory/59267972#59267972
Bây giờ, khi ai đó muốn sử dụng dự án của bạn, họ sẽ làm:
pyenv local
trong đó thiết lập phiên bản Python thành phiên bản chính xác.
Chủ đề liên quan:
Đã thử nghiệm trên Ubuntu 18.04, pyenv 1.2.15.