Tôi mới sử dụng quản lý gói Conda và tôi muốn có phiên bản Python mới nhất để sử dụng chuỗi f trong mã của mình. Hiện tại phiên bản của tôi là ( python -V
):
Python 3.5.2 :: Anaconda 4.2.0 (x86_64)
Làm cách nào để nâng cấp lên Python 3.6?
Tôi mới sử dụng quản lý gói Conda và tôi muốn có phiên bản Python mới nhất để sử dụng chuỗi f trong mã của mình. Hiện tại phiên bản của tôi là ( python -V
):
Python 3.5.2 :: Anaconda 4.2.0 (x86_64)
Làm cách nào để nâng cấp lên Python 3.6?
Câu trả lời:
Anaconda chưa cập nhật python trong nội bộ lên 3.6.
a) Phương pháp 1
conda update python
conda update anaconda
Nếu bạn muốn nâng cấp giữa phiên bản python lớn như 3.5 lên 3.6, bạn sẽ phải làm
conda install python=$pythonversion$
b) Phương pháp 2 - Tạo môi trường mới (Phương pháp tốt hơn)
conda create --name py36 python=3.6
c) Để có được con trăn mới nhất tuyệt đối (3.6.5 tại thời điểm viết)
conda create --name py365 python=3.6.5 --channel conda-forge
Bạn có thể thấy tất cả điều này từ đây
Ngoài ra, tham khảo điều này để nâng cấp lực lượng
EDIT: Anaconda hiện có phiên bản Python 3.6 tại đây
conda update python
. Xem tại đây: conda.pydata.org/docs/py2or3.html#update-or-upTHER-python
conda update python
chỉ đưa tôi từ 3.6.5 đến 3.7.0. Khéo léo!
conda install python=$pythonversion$
với một dấu bằng duy nhất.
Tạo một môi trường mới sẽ cài đặt python 3.6:
$ conda create --name 3point6 python=3.6
Fetching package metadata .......
Solving package specifications: ..........
Package plan for installation in environment /Users/dstansby/miniconda3/envs/3point6:
The following NEW packages will be INSTALLED:
openssl: 1.0.2j-0
pip: 9.0.1-py36_1
python: 3.6.0-0
readline: 6.2-2
setuptools: 27.2.0-py36_0
sqlite: 3.13.0-0
tk: 8.5.18-0
wheel: 0.29.0-py36_0
xz: 5.2.2-1
zlib: 1.2.8-3
conda create --name 3point6 python=3
(thêm =3
vào cuối) tạo thành phiên bản python3.
Tôi tìm thấy trang này với các hướng dẫn chi tiết để nâng cấp Anaconda lên phiên bản chính mới hơn của Python (từ Anaconda 4.0+). Đầu tiên,
conda update conda
conda remove argcomplete conda-manager
Tôi cũng đã phải conda remove
một số gói không có trong danh sách chính thức:
Tùy thuộc vào các gói được cài đặt trên hệ thống của bạn, bạn có thể gặp thêm UnsatisfiableError
lỗi - chỉ cần thêm các gói đó vào danh sách xóa. Tiếp theo, cài đặt phiên bản Python,
conda install python==3.6
phải mất một lúc, sau đó một tin nhắn được chỉ ra conda install anaconda-client
, vì vậy tôi đã làm
conda install anaconda-client
Điều đó nói rằng nó đã ở đó. Cuối cùng, làm theo chỉ dẫn,
conda update anaconda
Tôi đã làm điều này trong dấu nhắc lệnh của Windows 10, nhưng mọi thứ sẽ tương tự trong Mac OS X.
Trước đây, tôi thấy khá khó khăn để thử nâng cấp tại chỗ.
Lưu ý: trường hợp sử dụng của tôi cho Anaconda là môi trường Python tất cả trong một. Tôi không bận tâm với các môi trường ảo riêng biệt. Nếu bạn đang sử dụng conda
để tạo môi trường, điều này có thể phá hủy vì conda
tạo ra các môi trường có liên kết cứng trong Anaconda/envs
thư mục của bạn .
Vì vậy, nếu bạn sử dụng môi trường, trước tiên bạn có thể muốn xuất môi trường của mình . Sau khi kích hoạt môi trường của bạn, hãy làm một cái gì đó như:
conda env export > environment.yml
Sau khi sao lưu môi trường của bạn (nếu cần), bạn có thể xóa Anaconda cũ của mình (rất đơn giản để gỡ cài đặt Anaconda):
$ rm -rf ~/anaconda3/
và thay thế nó bằng cách tải xuống Anaconda mới, ví dụ Linux, 64 bit:
$ cd ~/Downloads
$ wget https://repo.continuum.io/archive/Anaconda3-4.3.0-Linux-x86_64.sh
( xem ở đây để biết thêm một cái gần đây ),
và sau đó thực hiện nó:
$ bash Anaconda3-4.3.0-Linux-x86_64.sh
Tôi đang sử dụng Mac OS Mojave
4 bước này làm việc cho tôi.
conda update conda
conda install python=3.6
conda install anaconda-client
conda update anaconda
Phương pháp tốt nhất tôi tìm thấy:
source activate old_env
conda env export > old_env.yml
Sau đó xử lý nó với một cái gì đó như thế này:
with open('old_env.yml', 'r') as fin, open('new_env.yml', 'w') as fout:
for line in fin:
if 'py35' in line: # replace by the version you want to supersede
line = line[:line.rfind('=')] + '\n'
fout.write(line)
sau đó chỉnh sửa thủ công dòng đầu tiên ( name: ...
) và dòng cuối ( prefix: ...
) để phản ánh tên môi trường mới của bạn và chạy:
conda env create -f new_env.yml
bạn có thể cần phải xóa hoặc thay đổi thủ công mã pin phiên bản của một vài gói mà phiên bản được ghim từ đó old_env
không tương thích hoặc bị thiếu cho phiên bản python mới.
Tôi ước có một cách tích hợp, dễ dàng hơn ...