Làm cách nào để thay đổi phiên bản python của tôi sang môi trường hiện có?

Bổ sung tháng 1 năm 2019. Nếu bạn quay lại blog này sau khi nâng cấp lên macOS Mojave, vui lòng xem giải pháp cho vấn đề phổ biến 'zlib not available' của pyenv

Trước khi bắt đầu, chúng ta hãy lướt qua các thuật ngữ được sử dụng trong tiêu đề

  • Nhiều phiên bản Python. Các bản cài đặt Python khác nhau trên cùng một máy, 2. 7 và 3. 4 chẳng hạn
  • các môi trường độc lập biệt lập có thể có cả phiên bản Python cụ thể và bất kỳ gói dành riêng cho dự án nào được cài đặt bên trong chúng mà không ảnh hưởng đến bất kỳ dự án nào khác

Ở đây chúng ta sẽ xem xét ba công cụ khác nhau để làm việc với những công cụ này và khi nào bạn có thể cần đến từng công cụ đó. Hãy khám phá các trường hợp sử dụng cho

  • $ source name-given/bin/activate
    2 /
    $ source name-given/bin/activate
    3
  • $ source name-given/bin/activate
    4
  • $ source name-given/bin/activate
    5

Nếu bạn đang sử dụng một phiên bản Python, hãy nói phiên bản 3. 3+ và muốn quản lý các môi trường ảo khác nhau, thì

$ source name-given/bin/activate
2 là tất cả những gì bạn cần

Nếu bạn muốn sử dụng nhiều phiên bản Python ở mức 3. 3+, có hoặc không có môi trường ảo, sau đó tiếp tục đọc về

$ source name-given/bin/activate
4

Nếu bạn cũng muốn làm việc với Python 2, thì

$ source name-given/bin/activate
5 là một công cụ đáng cân nhắc

venv

Từ Python 3. 3+ gói

$ source name-given/bin/activate
2 được bao gồm. Đó là lý tưởng để tạo môi trường ảo nhẹ

Cho đến Python 3. 6 một tập lệnh có tên là

$ source name-given/bin/activate
3 cũng được đưa vào dưới dạng trình bao bọc xung quanh
$ source name-given/bin/activate
2, nhưng điều này đã không được chấp nhận. Nó sẽ bị xóa hoàn toàn trong Python 3. 8. Chức năng chính xác tương tự khả dụng khi sử dụng
$ source name-given/bin/activate
2 và mọi tài liệu hiện có phải được cập nhật. Đối với bất kỳ ai quan tâm, bạn có thể đọc lý do đằng sau việc khấu hao
$ source name-given/bin/activate
3

$ source name-given/bin/activate
2 được sử dụng để tạo một môi trường mới thông qua lệnh đầu cuối

$ source name-given/bin/activate
3

kích hoạt với

$ source name-given/bin/activate

và vô hiệu hóa đơn giản với

$ source name-given/bin/activate
5

Nếu bạn cần xóa hoàn toàn môi trường sau khi hủy kích hoạt nó, bạn có thể chạy

$ source name-given/bin/activate
6

Theo mặc định, môi trường mà nó tạo ra sẽ là phiên bản Python hiện tại mà bạn đang sử dụng. Nếu bạn đang viết tài liệu và muốn có thêm sự an toàn rằng phiên bản chính xác của Python đang được người đọc của bạn sử dụng, bạn có thể chỉ định số phiên bản chính và phụ trong lệnh, như vậy

$ source name-given/bin/activate
7

Nếu bạn đọc đang sử dụng phiên bản khác 3. 6 thì lệnh sẽ không thành công và sẽ chỉ ra trong thông báo lỗi của nó. Tuy nhiên, bất kỳ phiên bản vá nào [ví dụ 3. 6. 4] sẽ hoạt động

Khi môi trường đang hoạt động, bất kỳ gói nào cũng có thể được cài đặt vào nó thông qua

$ source name-given/bin/activate
55 như bình thường. Theo mặc định, môi trường mới được tạo sẽ không bao gồm bất kỳ gói nào đã được cài đặt trên máy. Vì bản thân
$ source name-given/bin/activate
56 sẽ không nhất thiết phải được cài đặt trên máy. Trước tiên, bạn nên nâng cấp
$ source name-given/bin/activate
56 lên phiên bản mới nhất, sử dụng
$ source name-given/bin/activate
58

Các dự án thường sẽ có một tệp

$ source name-given/bin/activate
59 chỉ định các phụ thuộc của nó. Điều này cho phép lệnh tắt lệnh
$ source name-given/bin/activate
60 nhanh chóng cài đặt tất cả các gói vào môi trường ảo mới được tạo. Chúng sẽ chỉ tồn tại trong môi trường ảo. Nó sẽ không khả dụng khi bị hủy kích hoạt nhưng sẽ tồn tại khi được kích hoạt lại

Nếu bạn không cần sử dụng các phiên bản bổ sung của Python, thì đây là tất cả những gì bạn cần để tạo các môi trường ảo, riêng biệt, dành riêng cho dự án

pyenv

Nếu bạn muốn sử dụng nhiều phiên bản Python trên một máy, thì

$ source name-given/bin/activate
4 là một công cụ thường được sử dụng để cài đặt và chuyển đổi giữa các phiên bản. Điều này không bị nhầm lẫn với tập lệnh
$ source name-given/bin/activate
3 không dùng nữa đã đề cập trước đó. Nó không đi kèm với Python và phải được cài đặt riêng

Tài liệu

$ source name-given/bin/activate
63 bao gồm một mô tả tuyệt vời về , vì vậy ở đây chúng ta sẽ xem xét cách sử dụng nó một cách đơn giản

Đầu tiên chúng ta sẽ cần cài đặt nó. Nếu sử dụng Mac OS X, chúng tôi có thể thực hiện việc này bằng Homebrew, nếu không thì hãy cân nhắc

$ source name-given/bin/activate
7

Tiếp theo, thêm phần sau vào cuối tập lệnh shell của bạn để cho phép

$ source name-given/bin/activate
4 tự động thay đổi phiên bản cho bạn

$ source name-given/bin/activate
9

Để thực hiện, hãy mở tập lệnh shell đang sử dụng của bạn, thông qua ________ 165, ________ 166 hoặc ________ 167, sao chép và dán dòng trên vào

Chạy

$ source name-given/bin/activate
68 sẽ hiển thị phiên bản Python nào hiện đang được cài đặt, với một
$ source name-given/bin/activate
69 bên cạnh phiên bản hiện đang được sử dụng.
$ source name-given/bin/activate
70 hiển thị trực tiếp điều này và có thể sử dụng
$ source name-given/bin/activate
71 để xác minh điều này

Để cài đặt phiên bản bổ sung, chẳng hạn như

$ source name-given/bin/activate
72, chỉ cần sử dụng
$ source name-given/bin/activate
73

$ source name-given/bin/activate
4 xem xét bốn vị trí để quyết định sử dụng phiên bản Python nào, theo thứ tự ưu tiên

  1. Biến môi trường
    $ source name-given/bin/activate
    75 [nếu được chỉ định]. Bạn có thể sử dụng lệnh
    $ source name-given/bin/activate
    76 để đặt biến môi trường này trong phiên trình bao hiện tại của mình
  2. Tệp
    $ source name-given/bin/activate
    77 dành riêng cho ứng dụng trong thư mục hiện tại [nếu có]. Bạn có thể sửa đổi tệp
    $ source name-given/bin/activate
    77 của thư mục hiện tại bằng lệnh
    $ source name-given/bin/activate
    79
  3. Tệp
    $ source name-given/bin/activate
    77 đầu tiên được tìm thấy [nếu có] bằng cách tìm kiếm từng thư mục mẹ, cho đến khi truy cập thư mục gốc của hệ thống tệp của bạn
  4. Tệp phiên bản toàn cầu. Bạn có thể sửa đổi tệp này bằng lệnh
    $ source name-given/bin/activate
    71. Nếu không có tệp phiên bản toàn cầu, pyenv giả sử bạn muốn sử dụng Python "hệ thống". [Nói cách khác, bất kỳ phiên bản nào sẽ chạy nếu pyenv không có trong
    $ source name-given/bin/activate
    72 của bạn. ]

Khi thiết lập một dự án mới sử dụng Python 3. 6. 4 thì

$ source name-given/bin/activate
73 sẽ được chạy trong thư mục gốc của nó. Điều này sẽ thiết lập phiên bản và tạo tệp
$ source name-given/bin/activate
77 để máy của những người đóng góp khác sẽ chọn tệp đó

Mô tả đầy đủ về các lệnh

$ source name-given/bin/activate
4 là một để đánh dấu

pyenv và venv

Khi làm việc với Python 3. 3+, giờ đây chúng ta đã biết cả cách cài đặt và chuyển đổi giữa các phiên bản Python khác nhau cũng như cách tạo môi trường ảo mới

Ví dụ: giả sử chúng tôi đang thiết lập một dự án sử dụng Python 3. 4

Trước tiên, chúng tôi có thể đặt phiên bản cục bộ của mình bằng cách sử dụng

$ source name-given/bin/activate
76

Nếu sau đó chúng tôi chạy

$ source name-given/bin/activate
77, một môi trường ảo mới sẽ được thiết lập theo
$ source name-given/bin/activate
78, sử dụng Python 3 được kích hoạt cục bộ của chúng tôi. 4. 0

Chúng tôi kích hoạt bằng cách sử dụng

$ source name-given/bin/activate
79 và có thể bắt đầu làm việc

Tiếp theo, chúng tôi có thể tùy chọn ghi lại rằng cộng tác viên nên sử dụng

$ source name-given/bin/activate
90. Điều này có nghĩa là ngay cả khi một cộng tác viên không sử dụng pyenv thì lệnh
$ source name-given/bin/activate
91 sẽ báo lỗi nếu phiên bản Python của họ không phải là phiên bản chính và phụ [3 và 4] giống như chúng tôi dự định

Ngoài ra, chúng ta có thể chọn chỉ định 3. 4. 0 đã được sử dụng và hướng dẫn

$ source name-given/bin/activate
92. Nếu chúng tôi tin rằng bất kỳ phiên bản nào lớn hơn 3. 4 được chấp nhận, thì chúng tôi cũng có thể chọn sử dụng
$ source name-given/bin/activate
93 thay vì
$ source name-given/bin/activate
91, như thể cộng tác viên đang sử dụng 3. 6 thì họ cũng sẽ nhận được lỗi. Đây là một quyết định cụ thể của dự án

pyenv-virtualenv

$ source name-given/bin/activate
4 có thể được sử dụng để cài đặt cả hai phiên bản Python 2 và 3. Tuy nhiên, như chúng ta đã thấy,
$ source name-given/bin/activate
2 chỉ giới hạn ở các phiên bản Python lớn hơn 3. 3

$ source name-given/bin/activate
5 là một công cụ để tạo môi trường ảo được tích hợp với
$ source name-given/bin/activate
4 và hoạt động cho tất cả các phiên bản Python. Vẫn nên sử dụng Python
$ source name-given/bin/activate
2 chính thức nếu có thể. Nhưng nếu, ví dụ, bạn đang tạo một môi trường ảo dựa trên
$ source name-given/bin/activate
50, thì điều này khen ngợi
$ source name-given/bin/activate
4

Nó cũng hoạt động tốt với môi trường

$ source name-given/bin/activate
52 nếu bạn đã sử dụng những môi trường đó. Một công cụ có tên là
$ source name-given/bin/activate
53 cũng tồn tại. Nó không được đề cập ở đây, nhưng nó được liên kết ở cuối

Sau khi cài đặt

$ source name-given/bin/activate
4, nó có thể được cài đặt tiếp theo bằng Homebrew [hoặc các lựa chọn thay thế] như vậy

$ source name-given/bin/activate
5

Tiếp theo trong

$ source name-given/bin/activate
55,
$ source name-given/bin/activate
56 hoặc
$ source name-given/bin/activate
57 của bạn [tùy thuộc vào vỏ bạn sử dụng] thêm phần sau vào phía dưới

$ source name-given/bin/activate
4

Điều này cho phép

$ source name-given/bin/activate
4 tự động kích hoạt và hủy kích hoạt môi trường khi di chuyển thư mục

Để tạo một môi trường ảo mới, hãy sử dụng

$ source name-given/bin/activate
6

Môi trường hiện tại có thể được liệt kê với

$ source name-given/bin/activate
0

Kích hoạt / hủy kích hoạt với

$ source name-given/bin/activate
1

Tại thời điểm viết bài, khi sử dụng

$ source name-given/bin/activate
59, cảnh báo
$ source name-given/bin/activate
40 sẽ được hiển thị. Đây là và chỉ đề cập đến việc
$ source name-given/bin/activate
41 được hiển thị trong trình bao của bạn, không phải việc sử dụng chính lệnh
$ source name-given/bin/activate
59

Yêu cầu cài đặt hoạt động như được mô tả trong

$ source name-given/bin/activate
2. Không giống như trong
$ source name-given/bin/activate
2, không cần lệnh
$ source name-given/bin/activate
45 để xóa môi trường, một
$ source name-given/bin/activate
46 tồn tại

suy nghĩ cuối cùng

Giữa ba công cụ này, chúng tôi có khả năng cộng tác trên bất kỳ dự án nào, bất kể phiên bản Python hay phụ thuộc được yêu cầu. Chúng tôi cũng biết cách lập tài liệu hướng dẫn thiết lập để người khác sử dụng cho bất kỳ dự án nào mà chúng tôi thực hiện

Chúng ta cũng có thể thấy lý do đằng sau việc sử dụng bộ nào, vì không phải tất cả các nhà phát triển đều yêu cầu cả ba

Hy vọng điều này hữu ích và là tài liệu tham khảo hữu ích kết hợp với tài liệu được liên kết bên dưới

Cảm ơn vì đã đọc. ?

Những thứ khác tôi đã khám phá

  • Chế nhạo các mô-đun ES và CommonJS với jest. chế nhạo[]
  • Hướng dẫn dành cho người mới bắt đầu về Dịch vụ Container đàn hồi của Amazon

Tài nguyên

  • Môi trường ảo Python. sơn lót
  • Khấu hao
    $ source name-given/bin/activate
    3
  • Tài liệu Python
    $ source name-given/bin/activate
    2
  • $ source name-given/bin/activate
    49 so với
    $ source name-given/bin/activate
    53
  • Sự khác biệt giữa venv, pyvenv, pyenv, virtualenv, virtualenvwrapper, pipenv, v.v. là gì?

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

QUẢNG CÁO

Đaminh Fraser

Edinburg, Scotland

Nếu bài viết này hữu ích, hãy tweet nó

Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu

Chủ Đề