Môi trường Python được xác định như thế nào?

LƯU Ý [2019-06-20]. Nếu dự án của bạn dựa trên các gói Python mà CS Staff đã cài đặt trước đó ở cấp hệ thống, vui lòng di chuyển dự án của bạn sang môi trường ảo ngay lập tức. Chúng tôi không còn cài đặt các gói ở cấp độ hệ thống nữa, và trong bản cập nhật lớn tiếp theo của bản phân phối Linux theo chu kỳ, ion, khóa học và armlab, chúng tôi sẽ không chuyển tiếp các gói như vậy

nội dung

  • Giới thiệu
  • Tôi nên sử dụng phiên bản Python nào?
    • Đôi lời về “Hệ thống Python”
    • Xây dựng phiên bản địa phương của Python
  • Môi trường ảo là gì?
  • Luôn sử dụng Môi trường ảo
  • Tạo môi trường ảo và cài đặt gói
  • Môi trường ảo và Kiểm soát nguồn [e. g. , Git]
  • Xóa hoặc đổi tên môi trường ảo
  • Trợ giúp, tôi không thể cài đặt gói vào Môi trường ảo của mình

Giới thiệu

Lợi ích chính của việc sử dụng Python là cộng đồng nhà phát triển tích cực của nó và số lượng lớn các gói phần mềm có sẵn từ pypi. tổ chức

Thiết kế ban đầu của Python và hệ thống đóng gói của nó đặt các gói đã cài đặt cùng với trình thông dịch Python1 trong hệ thống tệp; . Điều này dẫn đến các vấn đề khi các dự án khác nhau yêu cầu các phiên bản gói khác nhau. Để giải quyết vấn đề này, môi trường ảo Python đã được phát triển

Tóm lại, môi trường ảo Python giúp tách rời và cô lập các lượt cài đặt Python và các gói pip liên quan. Điều này cho phép người dùng cuối cài đặt và quản lý bộ gói của riêng họ độc lập với gói do hệ thống cung cấp hoặc được sử dụng bởi các dự án khác

Trước khi tạo môi trường ảo Python, chúng ta cần chọn phiên bản Python. Đây là chủ đề của phần tiếp theo

Tôi nên sử dụng phiên bản Python nào?

Đối với bước phát triển mới, hãy sử dụng Python 3. 7 hoặc muộn hơn. Vì “Trăn hệ thống” [thêm bên dưới] trên các hệ thống CS là một Python tương đối cũ 3. 6 [nhưng với các bản vá bảo mật được chuyển ngược lại], bạn có thể muốn/cần tạo bản sao cục bộ của phiên bản Python ưa thích của mình

Nếu bạn vẫn có mã được viết cho Python 2, chúng tôi khuyên bạn nên đầu tư thời gian để chuyển mã đó sang Python 3 càng sớm càng tốt. Nhìn thấy. Chuyển mã Python 2 sang Python 3. Ngày hết hạn sử dụng [EOL] của Python 2 là ngày 1 tháng 1 năm 2020

Các phần phụ sau đây mô tả phiên bản Python được cài đặt trên hệ thống của chúng tôi và cách tạo một phiên bản cụ thể từ nguồn

Đôi lời về “Hệ thống Python”

Bởi vì Python là một phần thiết yếu của các bản phân phối Linux [tôi. e. , được sử dụng bởi chính hệ thống], phiên bản mặc định và tính khả dụng của Python thường được cố định cho đến lần nâng cấp tiếp theo của toàn bộ hệ điều hành. Điều này có nghĩa là Python đã cài đặt có xu hướng cũ hơn các phiên bản ổn định hiện tại có sẵn từ python. tổ chức

Phiên bản mặc định này thường được cài đặt trong thư mục

 $ mkdir /n/fs/myproject/temp
 $ cd /n/fs/myproject/temp
 $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
6 và được gọi là “System Python. ” Mặc dù System Python có sẵn cho người dùng cuối, nhưng mục đích sử dụng chính của nó là hỗ trợ hệ điều hành. Do đó, Nhân viên CS sẽ cập nhật nó theo lịch phân phối Linux của chúng tôi. Điều này có nghĩa là nó sẽ không được cập nhật theo yêu cầu và có thể được cập nhật mà không cần thông báo trước hoặc có rất ít thông báo. Ngoài ra, chúng tôi sẽ không cài đặt các gói Python của bên thứ ba ở cấp hệ thống

Kể từ ngày 08/09/2022, “Trăn hệ thống” cho

 $ mkdir /n/fs/myproject/temp
 $ cd /n/fs/myproject/temp
 $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
7 và
 $ mkdir /n/fs/myproject/temp
 $ cd /n/fs/myproject/temp
 $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
8 là Python 3. 6. 8 và có sẵn tại các địa điểm sau

/bin/python3
/bin/python3.6
/usr/bin/python3
/usr/bin/python3.6

Như đã lưu ý ở trên, phiên bản này hơi lỗi thời và thiếu các tính năng có sẵn trong các phiên bản gần đây hơn, chẳng hạn như Lớp dữ liệu [PEP 557], Khớp mẫu cấu trúc, trình xác định

 $ mkdir /n/fs/myproject/temp
 $ cd /n/fs/myproject/temp
 $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
9 tiện dụng trong chuỗi f và nhiều tính năng gợi ý loại

Xây dựng phiên bản địa phương của Python

Nếu phiên bản Python bạn cần không có sẵn trên hệ thống CS, bạn có thể dễ dàng tải xuống mã nguồn và xây dựng trình thông dịch Python cục bộ trong không gian dự án

  1. Điều hướng đến trang Tải xuống Python, điều hướng đến phiên bản bạn chọn, tải xuống “tarball nguồn nén XZ” tương ứng và đặt nó vào một thư mục tạm thời trong không gian dự án của bạn. Ví dụ [giả sử không gian dự án của bạn là

     $ tar xJf Python-3.10.6.tar.xz
     $ cd Python-3.10.6
     $ ./configure --prefix=/n/fs/myproject/py310
     $ make
    0]

     $ mkdir /n/fs/myproject/temp
     $ cd /n/fs/myproject/temp
     $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
  2. Bỏ tarball và xây dựng Python. Tùy chọn

     $ tar xJf Python-3.10.6.tar.xz
     $ cd Python-3.10.6
     $ ./configure --prefix=/n/fs/myproject/py310
     $ make
    1 cho tập lệnh
     $ tar xJf Python-3.10.6.tar.xz
     $ cd Python-3.10.6
     $ ./configure --prefix=/n/fs/myproject/py310
     $ make
    2 đặt vị trí nơi Python sẽ được cài đặt. Ví dụ

     $ tar xJf Python-3.10.6.tar.xz
     $ cd Python-3.10.6
     $ ./configure --prefix=/n/fs/myproject/py310
     $ make

    Lưu ý rằng bạn có thể nhận được đầu ra bao gồm điều này

     $ mkdir /n/fs/myproject/temp
     $ cd /n/fs/myproject/temp
     $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
    0

    Mô-đun

     $ tar xJf Python-3.10.6.tar.xz
     $ cd Python-3.10.6
     $ ./configure --prefix=/n/fs/myproject/py310
     $ make
    3 không hữu ích trong môi trường CS và không được dùng trong Python 3. 11 và vì vậy cảnh báo này có thể được bỏ qua một cách an toàn

  3. Cài đặt Python bạn vừa tích hợp vào vị trí được chỉ định bởi

     $ tar xJf Python-3.10.6.tar.xz
     $ cd Python-3.10.6
     $ ./configure --prefix=/n/fs/myproject/py310
     $ make
    1 ở trên

     $ mkdir /n/fs/myproject/temp
     $ cd /n/fs/myproject/temp
     $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
    3
  4. Trình thông dịch Python mới xây dựng của bạn có sẵn trong thư mục con

     $ tar xJf Python-3.10.6.tar.xz
     $ cd Python-3.10.6
     $ ./configure --prefix=/n/fs/myproject/py310
     $ make
    5 của đường dẫn
     $ tar xJf Python-3.10.6.tar.xz
     $ cd Python-3.10.6
     $ ./configure --prefix=/n/fs/myproject/py310
     $ make
    1 được đặt ở trên

     $ mkdir /n/fs/myproject/temp
     $ cd /n/fs/myproject/temp
     $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
    6
  5. [Tùy chọn] Xóa tarball nguồn và thư mục bản dựng

     $ mkdir /n/fs/myproject/temp
     $ cd /n/fs/myproject/temp
     $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
    7

Môi trường ảo Python là gì?

Môi trường ảo Python [venv] chỉ đơn giản là một thư mục có cấu trúc tệp cụ thể. Nó có một thư mục con

 $ tar xJf Python-3.10.6.tar.xz
 $ cd Python-3.10.6
 $ ./configure --prefix=/n/fs/myproject/py310
 $ make
5 bao gồm các liên kết đến trình thông dịch Python cũng như các thư mục con chứa các gói được cài đặt trong venv cụ thể. Bằng cách gọi trình thông dịch Python bằng cách sử dụng đường dẫn đến thư mục con
 $ tar xJf Python-3.10.6.tar.xz
 $ cd Python-3.10.6
 $ ./configure --prefix=/n/fs/myproject/py310
 $ make
5 của venv, trình thông dịch Python “biết” để sử dụng các gói được liên kết trong venv [trái ngược với bất kỳ gói nào được cài đặt dọc theo vị trí thực của trình thông dịch Python]. Theo nghĩa này, các venv là “ảo”—chúng không phải là ảo theo nghĩa, chẳng hạn, một máy ảo

Khi bạn thiết lập một môi trường ảo [chi tiết bên dưới], bạn có thể sử dụng nó ngay lập tức bằng cách gọi

 $ tar xJf Python-3.10.6.tar.xz
 $ cd Python-3.10.6
 $ ./configure --prefix=/n/fs/myproject/py310
 $ make
9 sử dụng đường dẫn đầy đủ đến thư mục con
 $ tar xJf Python-3.10.6.tar.xz
 $ cd Python-3.10.6
 $ ./configure --prefix=/n/fs/myproject/py310
 $ make
5 trong venv của bạn [e. g. ,
 $ mkdir /n/fs/myproject/temp
 $ cd /n/fs/myproject/temp
 $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
01]. Để thuận tiện, khi bạn thiết lập venv, nó sẽ cung cấp một tập lệnh kích hoạt mà bạn có thể gọi, tập lệnh này sẽ đặt thư mục con
 $ tar xJf Python-3.10.6.tar.xz
 $ cd Python-3.10.6
 $ ./configure --prefix=/n/fs/myproject/py310
 $ make
5 cho venv của bạn trước trên PATH của bạn. [Nó cũng cập nhật dấu nhắc trình bao của bạn để cho bạn biết thay đổi này có hiệu lực]. Khi venv của bạn được kích hoạt, bạn không cần sử dụng đường dẫn đầy đủ tới trình thông dịch Python nữa [e. g. , bạn chỉ cần sử dụng
 $ mkdir /n/fs/myproject/temp
 $ cd /n/fs/myproject/temp
 $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
03]

QUAN TRỌNG [và hữu ích]. Nếu bạn gọi chương trình Python của mình với đường dẫn đầy đủ đến trình thông dịch Python trong môi trường ảo, thì chương trình đó sẽ chạy trong môi trường ảo ngay cả khi bạn không tham gia phiên tương tác mà bạn đã sử dụng tập lệnh

 $ mkdir /n/fs/myproject/temp
 $ cd /n/fs/myproject/temp
 $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
04. Điều này hữu ích cho các công việc định kỳ và cho các tập lệnh Bash trong đó việc “kích hoạt” môi trường ảo một cách rõ ràng là có vấn đề

Luôn sử dụng Môi trường ảo

Luôn. 2

Môi trường ảo cho phép bạn có một môi trường ổn định, có thể tái tạo và di động. Bạn kiểm soát phiên bản gói nào được cài đặt và thời điểm chúng được nâng cấp. Bạn có thể có bao nhiêu venv tùy thích

Để có thêm một lớp kiểm soát khi bạn cập nhật lên các phiên bản Python mới, bạn có thể biên dịch trình thông dịch Python của riêng mình và tạo một môi trường ảo dựa trên nó. Điều này tách bạn khỏi lịch cập nhật của “System Python” được cài đặt trên máy chủ của chúng tôi

Hỗ trợ môi trường ảo được cung cấp ngay lập tức với các phiên bản Python hiện đại. 3 Tuy nhiên, đây không phải là cơ chế duy nhất mà người ta có thể sử dụng để duy trì môi trường có thể tái sản xuất mà qua đó bạn có quyền kiểm soát phiên bản Python được sử dụng, các gói đã cài đặt và lịch trình khi chúng được cập nhật. Các tùy chọn khác có sẵn trên hệ thống CS bao gồm cài đặt và sử dụng Conda trong thư mục chính hoặc không gian dự án của bạn hoặc sử dụng Singularity

Tạo môi trường ảo và cài đặt gói

Trong phần này, chúng tôi mô tả cách tạo môi trường ảo [venv] và cài đặt gói trong venv đó. Chúng tôi đang xây dựng dựa trên ví dụ ở trên, nơi chúng tôi có Python 3 được tạo cục bộ. 10 phiên dịch viên trong

 $ mkdir /n/fs/myproject/temp
 $ cd /n/fs/myproject/temp
 $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
05

Tạo môi trường ảo

 $ mkdir /n/fs/myproject/temp
 $ cd /n/fs/myproject/temp
 $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
7

 $ mkdir /n/fs/myproject/temp
 $ cd /n/fs/myproject/temp
 $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
06 yêu cầu Python sử dụng mô-đun “venv” để tạo một môi trường ảo trong một thư mục có tên là
 $ mkdir /n/fs/myproject/temp
 $ cd /n/fs/myproject/temp
 $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
07

Bây giờ bạn có thể “kích hoạt” môi trường ảo này và quản lý các gói

Ví dụ sau giả sử bạn đang sử dụng Bash shell. Trong ví dụ này, chúng tôi kích hoạt môi trường ảo, cài đặt gói bằng mô-đun

 $ mkdir /n/fs/myproject/temp
 $ cd /n/fs/myproject/temp
 $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
08 và chạy tập lệnh Python nội tuyến

/bin/python3
/bin/python3.6
/usr/bin/python3
/usr/bin/python3.6
1

Dấu nhắc bash thay đổi để cho biết rằng bạn đang ở trong một môi trường ảo cụ thể

/bin/python3
/bin/python3.6
/usr/bin/python3
/usr/bin/python3.6
2

Lưu ý rằng tất cả những điều trên có thể được thực hiện mà không cần sử dụng

 $ mkdir /n/fs/myproject/temp
 $ cd /n/fs/myproject/temp
 $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
04 bằng cách chỉ định đầy đủ đường dẫn đến trình thông dịch Python trong thư mục môi trường ảo mỗi lần

 $ mkdir /n/fs/myproject/temp
 $ cd /n/fs/myproject/temp
 $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
0

Ghi chú. khi tạo một môi trường ảo, chúng tôi khuyên bạn nên chỉ định số phiên bản chính và phụ như chúng tôi đã thực hiện trong các ví dụ trên. Điều này sẽ tạo bí danh [i. e. , liên kết tượng trưng] trong môi trường ảo của bạn cho

 $ tar xJf Python-3.10.6.tar.xz
 $ cd Python-3.10.6
 $ ./configure --prefix=/n/fs/myproject/py310
 $ make
9,
 $ mkdir /n/fs/myproject/temp
 $ cd /n/fs/myproject/temp
 $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
31 và
 $ mkdir /n/fs/myproject/temp
 $ cd /n/fs/myproject/temp
 $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
32. Điều này sẽ mang lại cho bạn sự linh hoạt khi sử dụng
 $ mkdir /n/fs/myproject/temp
 $ cd /n/fs/myproject/temp
 $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
32 trong tập lệnh hoặc tài liệu của mình nếu bạn chọn làm như vậy

Môi trường ảo và Kiểm soát nguồn [e. g. , Git]

Thư mục môi trường ảo không phù hợp để kiểm soát nguồn. Tuy nhiên, một môi trường ảo được xác định bởi phiên bản của trình thông dịch Python và bộ gói [có số phiên bản cụ thể] được cài đặt. Do đó, một thực tế phổ biến là sử dụng

 $ mkdir /n/fs/myproject/temp
 $ cd /n/fs/myproject/temp
 $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
34 để tạo một tệp có tên [theo quy ước]
 $ mkdir /n/fs/myproject/temp
 $ cd /n/fs/myproject/temp
 $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
35 chứa danh sách các gói

 $ mkdir /n/fs/myproject/temp
 $ cd /n/fs/myproject/temp
 $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
1

Tệp

 $ mkdir /n/fs/myproject/temp
 $ cd /n/fs/myproject/temp
 $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
35 được đặt dưới sự kiểm soát nguồn

Khi một người kiểm tra hoặc sao chép dự án từ kho lưu trữ lần đầu tiên, thì họ phải tạo một môi trường ảo cục bộ với phiên bản thích hợp của trình thông dịch Python, "kích hoạt" môi trường và sử dụng

 $ mkdir /n/fs/myproject/temp
 $ cd /n/fs/myproject/temp
 $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
37 với tùy chọn
 $ mkdir /n/fs/myproject/temp
 $ cd /n/fs/myproject/temp
 $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
38, như sau

 $ mkdir /n/fs/myproject/temp
 $ cd /n/fs/myproject/temp
 $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
2

Một nhược điểm đáng kể khi đưa đầu ra của

 $ mkdir /n/fs/myproject/temp
 $ cd /n/fs/myproject/temp
 $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
34 vào kiểm soát nguồn là rất dễ mất dấu gói nào là phụ thuộc của bạn và gói nào là phụ thuộc gián tiếp [i. e. , phụ thuộc của phụ thuộc của bạn]. Một cách tiếp cận để giải quyết vấn đề này là giữ các phần phụ thuộc của bạn trong tệp
 $ mkdir /n/fs/myproject/temp
 $ cd /n/fs/myproject/temp
 $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
60 hoặc
 $ mkdir /n/fs/myproject/temp
 $ cd /n/fs/myproject/temp
 $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
61 và sử dụng một công cụ như công cụ pip để quản lý các phần phụ thuộc

Xóa hoặc đổi tên môi trường ảo

Để xóa một môi trường ảo, chỉ cần xóa thư mục tương ứng của nó

 $ mkdir /n/fs/myproject/temp
 $ cd /n/fs/myproject/temp
 $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
3

Rất khó đổi tên hoặc di chuyển một môi trường ảo [chỉ đổi tên thư mục sẽ không hoạt động]. Tốt hơn là tạo một môi trường ảo mới với cùng các gói đã cài đặt. Đầu tiên, giải nén các gói bằng lệnh

 $ mkdir /n/fs/myproject/temp
 $ cd /n/fs/myproject/temp
 $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
62 vào mô-đun
 $ mkdir /n/fs/myproject/temp
 $ cd /n/fs/myproject/temp
 $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
08

 $ mkdir /n/fs/myproject/temp
 $ cd /n/fs/myproject/temp
 $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
4

Thứ hai, sử dụng các hướng dẫn ở trên phù hợp với phiên bản Python bạn đang sử dụng, tạo một môi trường ảo mới. Ví dụ của chúng tôi, chúng tôi sẽ sử dụng

 $ mkdir /n/fs/myproject/temp
 $ cd /n/fs/myproject/temp
 $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
64

Thứ ba, cài đặt các gói

 $ mkdir /n/fs/myproject/temp
 $ cd /n/fs/myproject/temp
 $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
5

Cuối cùng, xóa thư mục môi trường ảo ban đầu

Xây dựng lại môi trường ảo cho phiên bản Python mới

Lưu ý rằng một môi trường ảo được gắn với một phiên bản cụ thể [chính, phụ] của Python. Điều này được thiết lập thông qua một liên kết tượng trưng trong thư mục con

 $ tar xJf Python-3.10.6.tar.xz
 $ cd Python-3.10.6
 $ ./configure --prefix=/n/fs/myproject/py310
 $ make
5 của thư mục môi trường ảo tới tệp nhị phân trình thông dịch Python thực tế. Nếu mục tiêu của liên kết tượng trưng không còn tồn tại hoặc thay đổi thành phiên bản Python khác, môi trường ảo sẽ không còn hoạt động và phải được xây dựng lại

Chia sẻ môi trường ảo trên các hệ thống CS

Để một môi trường ảo hoạt động trên một máy chủ khác với máy chủ được tạo trên đó, nó phải [1] thư mục phải tồn tại ở cùng một vị trí tương đối trong hệ thống tệp và [2] liên kết tượng trưng trong thư mục con

 $ tar xJf Python-3.10.6.tar.xz
 $ cd Python-3.10.6
 $ ./configure --prefix=/n/fs/myproject/py310
 $ make
5 . 4

Ví dụ: nếu bạn đăng nhập vào

 $ mkdir /n/fs/myproject/temp
 $ cd /n/fs/myproject/temp
 $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
7, bạn sẽ thực sự truy cập vào một trong các máy chủ sau.
 $ mkdir /n/fs/myproject/temp
 $ cd /n/fs/myproject/temp
 $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
68,
 $ mkdir /n/fs/myproject/temp
 $ cd /n/fs/myproject/temp
 $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
69,
 $ mkdir /n/fs/myproject/temp
 $ cd /n/fs/myproject/temp
 $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
70 hoặc
 $ mkdir /n/fs/myproject/temp
 $ cd /n/fs/myproject/temp
 $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
71. Vì các máy
 $ mkdir /n/fs/myproject/temp
 $ cd /n/fs/myproject/temp
 $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
7 được giữ đồng bộ với phần mềm đã cài đặt và vì chúng gắn kết không gian dự án giống hệt nhau nên một môi trường ảo được tạo khi bạn đăng nhập vào
 $ mkdir /n/fs/myproject/temp
 $ cd /n/fs/myproject/temp
 $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
68 sẽ hoạt động tốt nếu được sử dụng khi bạn đăng nhập sau đó vào
 $ mkdir /n/fs/myproject/temp
 $ cd /n/fs/myproject/temp
 $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
70

Để có tính linh hoạt và tính di động tối đa, bạn có thể tạo một bản sao cục bộ của Python trong không gian dự án của mình. Sau đó, một môi trường ảo được tạo bằng một bản sao cục bộ như vậy sẽ có sẵn trên bất kỳ Hệ thống CS nào gắn kết không gian dự án [bao gồm cả các máy chủ web không gian dự án]

Trợ giúp, tôi không thể cài đặt gói vào Môi trường ảo của mình

Đôi khi, bạn có thể gặp lỗi khi cài đặt gói pip. Các vấn đề thường rơi vào các loại sau

  1. Gói pip là một mô-đun mở rộng bao gồm việc gọi trình biên dịch C khi cài đặt và yêu cầu các thư viện dùng chung cụ thể [và các RPM “-devel” tương ứng] được cài đặt ở cấp hệ thống. Nếu các gói Linux cần thiết không được cài đặt trên hệ thống, quá trình cài đặt pip sẽ không thành công

  2. Gói pip là mô-đun tiện ích mở rộng nhị phân yêu cầu các phiên bản ABI của các thư viện dùng chung đã cài đặt mới hơn phiên bản được cài đặt trên hệ thống của chúng tôi. Điều này có thể xảy ra nếu gói pip không tuân thủ, chẳng hạn như PEP 571. 5

  3. Là một phần của quá trình cài đặt, gói pip yêu cầu một bước biên dịch. Nếu điều này không thành công, trước tiên bạn có thể cần cài đặt gói bánh xe và sau đó thử cài đặt lại gói bị lỗi

Trong bất kỳ trường hợp nào trong số này, vui lòng liên hệ với Nhân viên CS để được hỗ trợ

  1. Về mặt kỹ thuật, nguồn Python được biên dịch thành mã byte sau đó được diễn giải. Để giữ cho mọi thứ đơn giản, chúng tôi sẽ chỉ nói thông dịch viên. ↩︎

  2. Ngoại lệ. Nếu bạn có một chương trình Python đơn giản chỉ sử dụng các mô-đun từ Thư viện chuẩn Python [i. e. , không có mô-đun của bên thứ ba nào cần có

     $ mkdir /n/fs/myproject/temp
     $ cd /n/fs/myproject/temp
     $ wget //www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz
    37], thì bạn có thể cân nhắc việc không sử dụng môi trường ảo. ↩︎

  3. Đối với các phiên bản trước Python 3. 3, có một cơ chế thay thế để tạo môi trường ảo Python. Liên hệ với Nhân viên CS để được hỗ trợ. ↩︎

  4. Thực tế, có một yêu cầu thứ ba là nếu bất kỳ mô-đun bên thứ ba nào được cài đặt trong môi trường ảo đều dựa trên các thư viện dùng chung do hệ thống cài đặt thì các thư viện dùng chung này phải được cài đặt trên tất cả các máy chủ khác cần sử dụng môi trường ảo. Xem Trợ giúp, tôi không thể cài đặt gói vào Môi trường ảo của mình. ↩︎

  5. Đối với những người muốn hiểu sâu hơn về đóng gói Python, đặc biệt là khi nó liên quan đến các gói pip sử dụng tiện ích mở rộng C, hãy xem buổi nói chuyện về PyCon 2019. Ma thuật đen của bánh xe trăn. ↩︎

    Môi trường Python được xác định như thế nào?

    Để xem danh sách các môi trường ảo Python mà bạn đã tạo, bạn có thể sử dụng lệnh ' conda env list '. Lệnh này sẽ cung cấp cho bạn tên cũng như đường dẫn hệ thống tệp cho vị trí của môi trường ảo của bạn.

    Python sử dụng môi trường nào?

    A môi trường ảo là một công cụ giúp tách biệt các phần phụ thuộc theo yêu cầu của các dự án khác nhau bằng cách tạo môi trường ảo python riêng biệt cho chúng. Đây là một trong những công cụ quan trọng nhất mà hầu hết các nhà phát triển Python sử dụng.

    Python có môi trường không?

    Môi trường bao gồm một phiên bản Python nhất định và một số gói . Do đó, nếu bạn muốn phát triển hoặc sử dụng các ứng dụng có các yêu cầu phiên bản Python hoặc gói khác nhau, bạn cần thiết lập các môi trường khác nhau.

    Môi trường Python được tổ chức như thế nào?

    Cách tổ chức một dự án Python độc lập .
    Tạo môi trường ảo
    Tạo một yêu cầu. txt và chỉ định các gói và phiên bản cần thiết
    Cài đặt các gói trong môi trường ảo và chạy các chương trình Python

Chủ Đề