Hướng dẫn root insert python - root chèn python
Làm thế nào để đặt thư mục làm việc hiện tại trong Python? Show
Nội phân Chính showShow
Martineau Huy hiệu vàng 115K2525 gold badges160 silver badges284 bronze badges Đã hỏi ngày 27 tháng 11 năm 2009 lúc 21:53Nov 27, 2009 at 21:53 0 Hãy thử 1
Alex l 8.3764 Huy hiệu vàng46 Huy hiệu bạc75 Huy hiệu Đồng4 gold badges46 silver badges75 bronze badges Đã trả lời ngày 27 tháng 11 năm 2009 lúc 21:59Nov 27, 2009 at 21:59 Mark Byersmark ByersMark Byers 781K184 Huy hiệu vàng1552 Huy hiệu bạc1440 Huy hiệu đồng184 gold badges1552 silver badges1440 bronze badges 3 Có lẽ đây là những gì bạn đang tìm kiếm:
Đã trả lời ngày 27 tháng 11 năm 2009 lúc 22:00Nov 27, 2009 at 22:00 UnutbuUnutbuunutbu 798K171 Huy hiệu vàng1721 Huy hiệu bạc1623 Huy hiệu Đồng171 gold badges1721 silver badges1623 bronze badges
Để đặt thư mục làm việc:
Đã trả lời ngày 24 tháng 1 năm 2016 lúc 3:41Jan 24, 2016 at 3:41 Dineshdineshdinesh 9436 Huy hiệu bạc2 Huy hiệu Đồng6 silver badges2 bronze badges 5 Nó cũng hoạt động cho MacMac also
Để kiểm tra thư mục làm việc
Đã trả lời ngày 31 tháng 8 năm 2017 lúc 7:14Aug 31, 2017 at 7:14 PRITAMJPRITAMJPritamJ 3194 Huy hiệu bạc10 Huy hiệu đồng4 silver badges10 bronze badges 3 những người sử dụng gói gấu trúc
Cú pháp sau được sử dụng để nhập tệp trong Python CLI
Vikrant 5.35017 Huy hiệu vàng48 Huy hiệu bạc72 Huy hiệu đồng17 gold badges48 silver badges72 bronze badges Đã trả lời ngày 22 tháng 12 năm 2016 lúc 6:12Dec 22, 2016 at 6:12 user3521180user3521180user3521180 8922 Huy hiệu vàng15 Huy hiệu bạc38 Huy hiệu đồng2 gold badges15 silver badges38 bronze badges 2 Greg Ward Ghi chú Toàn bộ gói 2 đã được không dùng nữa và sẽ bị xóa trong Python 3.12. Tài liệu này chỉ được giữ lại làm tài liệu tham khảo và sẽ được xóa với gói. Xem những gì mà mục nhập mới để biết thêm thông tin.What’s New entry for more information.Xem thêm Cài đặt các mô -đun PythonTài liệu cài đặt mô -đun cập nhật. Để sử dụng Python thường xuyên, bạn gần như chắc chắn muốn tài liệu đó hơn là cái này. Ghi chú Toàn bộ gói 2 đã được không dùng nữa và sẽ bị xóa trong Python 3.12. Tài liệu này chỉ được giữ lại làm tài liệu tham khảo và sẽ được xóa với gói. Xem những gì mà mục nhập mới để biết thêm thông tin.Giới thiệu¶Xem thêm Cài đặt các mô -đun Python Tài liệu cài đặt mô -đun cập nhật. Để sử dụng Python thường xuyên, bạn gần như chắc chắn muốn tài liệu đó hơn là cái này.Installing Python Modules and Distributing Python Modules for more details. Hướng dẫn này chỉ bao gồm các công cụ cơ bản để xây dựng và phân phối các tiện ích mở rộng được cung cấp như một phần của phiên bản Python này. Các công cụ của bên thứ ba cung cấp dễ dàng hơn để sử dụng và các lựa chọn thay thế an toàn hơn. Tham khảo phần Khuyến nghị nhanh trong Hướng dẫn sử dụng bao bì Python để biết thêm thông tin. Phân phối nguồn dựa trên DistutilsTrong Python 2.0, API 2 lần đầu tiên được thêm vào thư viện tiêu chuẩn. Điều này đã cung cấp cho người bảo trì Linux một cách tiêu chuẩn để chuyển đổi các dự án Python thành các gói phân phối Linux và quản trị viên hệ thống một cách tiêu chuẩn để cài đặt chúng trực tiếp lên các hệ thống đích.Trong nhiều năm kể từ khi Python 2.0 được phát hành, việc kết hợp chặt chẽ hệ thống xây dựng và trình cài đặt gói với chu kỳ phát hành thời gian chạy ngôn ngữ đã trở nên có vấn đề và hiện tại nên sử dụng trình cài đặt gói 4 và hệ thống xây dựng 5, thay vào đó hơn là sử dụng 2 trực tiếp.Xem Cài đặt các mô -đun Python và phân phối các mô -đun Python để biết thêm chi tiết. Xây dựng và cài đặt tiêu chuẩnTài liệu di sản này chỉ được giữ lại cho đến khi chúng tôi tự tin rằng tài liệu 5 bao gồm mọi thứ cần thiết.Distutils based source distributions, building and installing a module distribution using the Distutils is usually one simple command to run from a terminal:Biến thể nền tảngBạn phải luôn luôn chạy lệnh thiết lập từ thư mục gốc phân phối, tức là thư mục con cấp cao nhất mà phân phối nguồn mô-đun giải nén vào. Ví dụ: nếu bạn chỉ tải xuống một phân phối nguồn mô -đun 8 lên hệ thống UNIX, thì điều bình thường cần làm là:gunzip -c foo-1.0.tar.gz | tar xf - # unpacks into directory foo-1.0 cd foo-1.0 python setup.py install Trên Windows, bạn có thể tải xuống 6. Nếu bạn đã tải tệp lưu trữ xuống 7, thì nó sẽ giải nén vào 8; Bạn có thể sử dụng Trình điều khiển lưu trữ với giao diện người dùng đồ họa (như Winzip) hoặc công cụ dòng lệnh (như Unzip hoặc Pkunzip) để giải nén kho lưu trữ. Sau đó, mở cửa sổ nhắc lệnh và chạy:unzip or pkunzip) to unpack the archive. Then, open a command prompt window and run:cd c:\Temp\foo-1.0 python setup.py install Chia công việc lênChạy 9 xây dựng và cài đặt tất cả các mô -đun trong một lần chạy. Nếu bạn thích làm việc tăng dần, đặc biệt là hữu ích nếu bạn muốn tùy chỉnh quy trình xây dựng hoặc nếu mọi thứ đang sai, bạn có thể sử dụng tập lệnh thiết lập để làm một việc tại một thời điểm. Điều này đặc biệt hữu ích khi việc xây dựng và cài đặt sẽ được thực hiện bởi những người dùng khác nhau, ví dụ, bạn có thể muốn xây dựng một phân phối mô-đun và trao nó cho quản trị viên hệ thống để cài đặt (hoặc tự làm, với các đặc quyền siêu người dùng).Ví dụ: bạn có thể xây dựng mọi thứ trong một bước và sau đó cài đặt mọi thứ trong bước thứ hai, bằng cách gọi tập lệnh thiết lập hai lần: 0Nếu bạn làm điều này, bạn sẽ nhận thấy rằng việc chạy lệnh cài đặt trước tiên chạy lệnh build, trong trường hợp này, thông báo nhanh chóng không có gì để làm, vì mọi thứ trong thư mục 0 đều được cập nhật.install command first runs the build command, which—in this case—quickly notices that it has nothing to do, since everything in the 0 directory is up-to-date.Bạn có thể không cần khả năng này để phá vỡ mọi thứ thường xuyên nếu tất cả những gì bạn làm là cài đặt các mô -đun được tải xuống ngoài mạng, nhưng nó rất tiện dụng cho các nhiệm vụ nâng cao hơn. Nếu bạn nhận được phân phối các mô -đun và tiện ích mở rộng Python của riêng mình, bạn sẽ tự mình chạy rất nhiều lệnh distututils riêng lẻ. Cách xây dựng hoạt động lorTheo ngụ ý ở trên, lệnh build có trách nhiệm đặt các tệp để cài đặt vào thư mục xây dựng. Theo mặc định, đây là 0 dưới gốc phân phối; Nếu bạn quá quan tâm đến tốc độ hoặc muốn giữ nguyên nguyên nguồn, bạn có thể thay đổi thư mục xây dựng với tùy chọn 2. Ví dụ:build command is responsible for putting the files to install into a build directory. By
default, this is 0 under the distribution root; if you’re excessively concerned with speed, or want to keep the source tree pristine, you can change the build directory with the 2 option. For example: 1.Distutils Configuration Files.) Normally, this isn’t necessary. Bố cục mặc định cho cây xây dựng như sau: 2trong đó 3 mở rộng sang một mô tả ngắn gọn về nền tảng HĐH/Phần cứng hiện tại và phiên bản Python. Mẫu đầu tiên, chỉ với một thư mục 4, được sử dụng cho các bản phân phối mô -đun thuần túy của Hồi giáo, đó là các phân phối mô -đun chỉ bao gồm các mô -đun python thuần túy. Nếu một phân phối mô -đun chứa bất kỳ phần mở rộng nào (các mô -đun được viết bằng C/C ++), thì biểu mẫu thứ hai, với hai thư mục 3, được sử dụng. Trong trường hợp đó, thư mục 6 giữ các tệp tạm thời được tạo bởi quy trình biên dịch/liên kết mà không thực sự được cài đặt. Trong cả hai trường hợp, thư mục 4 (hoặc 8) chứa tất cả các mô -đun Python (Python và phần mở rộng thuần túy) sẽ được cài đặt.Trong tương lai, nhiều thư mục sẽ được thêm vào để xử lý các tập lệnh Python, tài liệu, thực thi nhị phân và bất cứ điều gì khác là cần thiết để xử lý công việc cài đặt các mô -đun và ứng dụng Python. Cách cài đặt hoạt động lorSau khi lệnh build chạy (cho dù bạn chạy nó một cách rõ ràng hay lệnh cài đặt thực hiện nó cho bạn), công việc của lệnh cài đặt tương đối đơn giản: tất cả những gì nó phải làm là sao chép mọi thứ theo 9 (hoặc 0) để cài đặt đã chọn của bạn danh mục.build
command runs (whether you run it explicitly, or the install command does it for you), the work of the install command is relatively simple: all it has to do is copy everything under 9 (or 0) to your chosen installation directory.Nếu bạn không chọn một thư mục cài đặt, tức là, nếu bạn chỉ chạy ____ 71, thì lệnh cài đặt cài đặt vào vị trí tiêu chuẩn cho các mô-đun Python của bên thứ ba. Vị trí này thay đổi theo nền tảng và cách bạn xây dựng/cài đặt chính Python. Trên Unix (và MacOS, cũng dựa trên UNIX), nó cũng phụ thuộc vào việc phân phối mô-đun được cài đặt có phải là Python tinh khiết hay chứa các tiện ích mở rộng (không phải là PURE hay không):install command installs to the standard location for third-party Python modules. This location varies by platform and by how you built/installed Python itself. On Unix (and macOS, which is also Unix-based), it also depends on whether the module distribution being installed is pure Python or contains extensions (“non-pure”):
Notes:
8 và 9 là viết tắt của các thư mục mà Python được cài đặt và nơi nó tìm thấy các thư viện của nó vào thời gian chạy. Chúng luôn giống nhau trong các cửa sổ, và rất thường giống nhau dưới Unix và MacOS. Bạn có thể tìm hiểu những gì cài đặt Python của bạn sử dụng cho 8 và 9 bằng cách chạy Python ở chế độ tương tác và gõ một vài lệnh đơn giản. Trong Unix, chỉ cần nhập gunzip -c foo-1.0.tar.gz | tar xf - # unpacks into directory foo-1.0 cd foo-1.0 python setup.py install9 tại dấu nhắc Shell. Trong Windows, chọn. Khi trình thông dịch được bắt đầu, bạn nhập mã python tại dấu nhắc. Ví dụ: trên hệ thống Linux của tôi, tôi nhập ba câu lệnh Python được hiển thị bên dưới và nhận đầu ra như được hiển thị, để tìm hiểu 8 và 9 của tôi: 3Một vài người giữ chỗ khác được sử dụng trong tài liệu này: cd c:\Temp\foo-1.0 python setup.py install2 là viết tắt của phiên bản Python, ví dụ cd c:\Temp\foo-1.0 python setup.py install3; cd c:\Temp\foo-1.0 python setup.py install4 sẽ được thay thế bằng giá trị của cd c:\Temp\foo-1.0 python setup.py install5 hoặc chuỗi trống cho các nền tảng mà không xác định cờ ABI; cd c:\Temp\foo-1.0 python setup.py install6 sẽ được thay thế bằng tên của phân phối mô -đun được cài đặt. Chấm và viết hoa là quan trọng trong các con đường; Ví dụ: một giá trị sử dụng cd c:\Temp\foo-1.0 python setup.py install7 trên Unix thường sẽ sử dụng cd c:\Temp\foo-1.0 python setup.py install8 trên Windows. Nếu bạn không muốn cài đặt các mô -đun vào vị trí tiêu chuẩn hoặc nếu bạn không có quyền viết ở đó, thì bạn cần đọc về các cài đặt thay thế trong phần cài đặt thay thế. Nếu bạn muốn tùy chỉnh các thư mục cài đặt của mình nhiều hơn, hãy xem phần Cài đặt tùy chỉnh trên cài đặt tùy chỉnh.Alternate Installation. If you want to customize your installation directories more heavily, see section Custom Installation on custom installations. Cài đặt thay thếThông thường, cần thiết hoặc mong muốn cài đặt các mô-đun vào một vị trí khác với vị trí tiêu chuẩn cho các mô-đun Python của bên thứ ba. Ví dụ: trên một hệ thống UNIX, bạn có thể không được phép ghi vào thư mục mô-đun của bên thứ ba tiêu chuẩn. Hoặc bạn có thể muốn thử một mô -đun trước khi biến nó thành một phần tiêu chuẩn của cài đặt Python cục bộ của bạn. Điều này đặc biệt đúng khi nâng cấp phân phối đã có: bạn muốn đảm bảo cơ sở các tập lệnh hiện tại của bạn vẫn hoạt động với phiên bản mới trước khi thực sự nâng cấp. Lệnh cài đặt Distutils được thiết kế để tạo các phân phối mô -đun cài đặt cho một vị trí thay thế đơn giản và không đau. Ý tưởng cơ bản là bạn cung cấp một thư mục cơ sở để cài đặt và lệnh Cài đặt chọn một bộ thư mục (được gọi là sơ đồ cài đặt) trong thư mục cơ sở này để cài đặt tệp. Các chi tiết khác nhau giữa các nền tảng, vì vậy hãy đọc bất kỳ phần nào sau đây áp dụng cho bạn.install command is designed to make installing module distributions to an alternate location simple and painless. The basic idea is that you supply a base directory for the installation, and the install command picks a set of directories (called an installation scheme) under this base directory in which to install files. The details differ across platforms, so read whichever of the following sections applies to you. Lưu ý rằng các sơ đồ cài đặt thay thế khác nhau là loại trừ lẫn nhau: bạn có thể vượt qua cd c:\Temp\foo-1.0 python setup.py install9 hoặc 00 hoặc 01 và 02 hoặc 03 và 04, nhưng bạn có thể trộn lẫn từ các nhóm này.Cài đặt thay thế: Sơ đồ người dùngSơ đồ này được thiết kế để trở thành giải pháp thuận tiện nhất cho người dùng không có quyền viết cho thư mục gói trang web toàn cầu hoặc không muốn cài đặt vào đó. Nó được kích hoạt với một tùy chọn đơn giản: 4Các tệp sẽ được cài đặt vào các thư mục con của 05 (được viết là 06 sau đây). Sơ đồ này cài đặt các mô -đun Python thuần túy và các mô -đun mở rộng ở cùng một vị trí (còn được gọi là 07). Dưới đây là các giá trị cho Unix, bao gồm cả macOS:
Và đây là các giá trị được sử dụng trên Windows:
Và đây là các giá trị được sử dụng trên Windows: Ưu điểm của việc sử dụng sơ đồ này so với các kế hoạch khác được mô tả dưới đây là thư mục gói trang web người dùng nằm trong các điều kiện bình thường luôn được bao gồm trong 16 (xem 17 để biết thêm thông tin), có nghĩa là không có bước bổ sung để thực hiện sau khi chạy 2 tập lệnh để hoàn thiện cài đặt.build_ext command also has a cd c:\Temp\foo-1.0 python setup.py install9 option to add 20 to the compiler search path for header files and 21 to
the compiler search path for libraries as well as to the runtime search path for shared C libraries (rpath).Lệnh build_ext cũng có tùy chọn cd c:\Temp\foo-1.0 python setup.py install 9 để thêm import os os.chdir(default_path) 20 vào đường dẫn tìm kiếm trình biên dịch cho các tệp tiêu đề và import os os.chdir(default_path) 21 vào đường dẫn tìm kiếm trình biên dịch cho các thư viện cũng như đường dẫn tìm kiếm thời gian chạy cho thư viện C được chia sẻ (RPATH).Cài đặt thay thế: Chương trình gia đình Ý tưởng đằng sau chương trình nhà của người Viking là bạn xây dựng và duy trì một bản mô -đun Python cá nhân. Kế hoạch này tên có nguồn gốc từ ý tưởng về một thư mục gia đình trên mạng trên UNIX, vì nó không phải là bất thường đối với người dùng Unix để làm cho thư mục nhà của họ có bố cục tương tự như 22 hoặc 23. Sơ đồ này có thể được sử dụng bởi bất kỳ ai, bất kể hệ điều hành mà họ đang cài đặt. 5Nơi bạn có thể cung cấp bất kỳ thư mục nào bạn thích cho tùy chọn 00. Trên Unix, những người đánh máy lười biếng chỉ có thể gõ một tilde ( 25); Lệnh cài đặt sẽ mở rộng điều này sang thư mục nhà của bạn:install command will expand this to your home directory: 6Để thực hiện Python, hãy tìm các bản phân phối được cài đặt với sơ đồ này, bạn có thể phải sửa đổi đường dẫn tìm kiếm Python hoặc chỉnh sửa 26 (xem 17) để gọi 28 hoặc chỉnh sửa 16.modify Python’s search path or edit 26 (see 17) to call 28 or edit 16.Tùy chọn 00 xác định thư mục cơ sở cài đặt. Các tệp được cài đặt vào các thư mục sau trong cơ sở cài đặt như sau:
. Cài đặt thay thế: UNIX (sơ đồ tiền tố) ¶Sơ đồ tiền tố của người Viking rất hữu ích khi bạn muốn sử dụng một bản cài đặt Python để thực hiện bản dựng/cài đặt (nghĩa là, để chạy tập lệnh thiết lập), nhưng cài đặt các mô-đun vào thư mục mô-đun bên thứ ba của bản cài đặt Python khác (hoặc một cái gì đó Trông giống như một cài đặt Python khác nhau). Nếu điều này nghe có vẻ bất thường, thì đó là lý do tại sao người dùng và các chương trình gia đình lại xuất hiện trước đó. Tuy nhiên, có ít nhất hai trường hợp đã biết trong đó sơ đồ tiền tố sẽ hữu ích. Đầu tiên, hãy xem xét rằng nhiều bản phân phối Linux đặt Python vào gunzip -c foo-1.0.tar.gz | tar xf - # unpacks into directory foo-1.0 cd foo-1.0 python setup.py install0, thay vì truyền thống hơn gunzip -c foo-1.0.tar.gz | tar xf - # unpacks into directory foo-1.0 cd foo-1.0 python setup.py install3. Điều này là hoàn toàn phù hợp, vì trong những trường hợp, Python là một phần của hệ thống, chứ không phải là một tiện ích bổ sung cục bộ. Tuy nhiên, nếu bạn đang cài đặt các mô -đun Python từ nguồn, có lẽ bạn muốn chúng đi vào 37 thay vì 38. Điều này có thể được thực hiện với 7Một khả năng khác là một hệ thống tập tin mạng trong đó tên được sử dụng để ghi vào thư mục từ xa khác với tên được sử dụng để đọc nó: ví dụ: trình thông dịch Python được truy cập dưới dạng 39 có thể tìm kiếm các mô -đun trong 37, nhưng các mô -đun đó sẽ được cài đặt để nói, 41. Điều này có thể được thực hiện với 8Trong cả hai trường hợp, tùy chọn 01 xác định cơ sở cài đặt và tùy chọn ____102 xác định cơ sở cài đặt dành riêng cho nền tảng, được sử dụng cho các tệp dành riêng cho nền tảng. . Các tệp được cài đặt như sau:
. Cài đặt thay thế: UNIX (sơ đồ tiền tố) ¶ Sơ đồ tiền tố của người Viking rất hữu ích khi bạn muốn sử dụng một bản cài đặt Python để thực hiện bản dựng/cài đặt (nghĩa là, để chạy tập lệnh thiết lập), nhưng cài đặt các mô-đun vào thư mục mô-đun bên thứ ba của bản cài đặt Python khác (hoặc một cái gì đó Trông giống như một cài đặt Python khác nhau). Nếu điều này nghe có vẻ bất thường, thì đó là lý do tại sao người dùng và các chương trình gia đình lại xuất hiện trước đó. Tuy nhiên, có ít nhất hai trường hợp đã biết trong đó sơ đồ tiền tố sẽ hữu ích. Đầu tiên, hãy xem xét rằng nhiều bản phân phối Linux đặt Python vào gunzip -c foo-1.0.tar.gz | tar xf - # unpacks into directory foo-1.0 cd foo-1.0 python setup.py install 0, thay vì truyền thống hơn gunzip -c foo-1.0.tar.gz | tar xf - # unpacks into directory foo-1.0 cd foo-1.0 python setup.py install 3. Điều này là hoàn toàn phù hợp, vì trong những trường hợp, Python là một phần của hệ thống, chứ không phải là một tiện ích bổ sung cục bộ. Tuy nhiên, nếu bạn đang cài đặt các mô -đun Python từ nguồn, có lẽ bạn muốn chúng đi vào import os os.chdir(default_path) 37 thay vì import os os.chdir(default_path) 38. Điều này có thể được thực hiện vớiMột khả năng khác là một hệ thống tập tin mạng trong đó tên được sử dụng để ghi vào thư mục từ xa khác với tên được sử dụng để đọc nó: ví dụ: trình thông dịch Python được truy cập dưới dạng 39 có thể tìm kiếm các mô -đun trong 37, nhưng các mô -đun đó sẽ được cài đặt để nói, 41. Điều này có thể được thực hiện với 9Trong cả hai trường hợp, tùy chọn 01 xác định cơ sở cài đặt và tùy chọn ____102 xác định cơ sở cài đặt dành riêng cho nền tảng, được sử dụng cho các tệp dành riêng cho nền tảng. . Các tệp được cài đặt như sau:Mô -đun Python
Cài đặt tùy chỉnh¶Đôi khi, các sơ đồ cài đặt thay thế được mô tả trong phần cài đặt thay thế chỉ cần don làm những gì bạn muốn. Bạn có thể muốn điều chỉnh chỉ một hoặc hai thư mục trong khi giữ mọi thứ trong cùng một thư mục cơ sở hoặc bạn có thể muốn xác định lại hoàn toàn sơ đồ cài đặt. Trong cả hai trường hợp, bạn đã tạo ra một sơ đồ cài đặt tùy chỉnh.Alternate Installation just don’t do what you want. You might want to tweak just one or two directories while keeping everything under the same base directory, or you might want to completely redefine the installation scheme. In either case, you’re creating a custom installation scheme. Để tạo sơ đồ cài đặt tùy chỉnh, bạn bắt đầu với một trong các sơ đồ thay thế và ghi đè một số thư mục cài đặt được sử dụng cho các loại tệp khác nhau, sử dụng các tùy chọn sau:
Các tùy chọn ghi đè này có thể là tương đối, tuyệt đối hoặc được xác định rõ ràng theo một trong các thư mục cơ sở cài đặt. . được đề xuất cho các sơ đồ không tạo ra sự khác biệt giữa các mô -đun Python và Mở rộng.) Ví dụ: giả sử bạn đã cài đặt một phân phối mô -đun vào thư mục nhà của bạn theo Unix, nhưng bạn muốn các tập lệnh được sử dụng trong 80 thay vì 81. Như bạn có thể mong đợi, bạn có thể ghi đè thư mục này với tùy chọn 72; Trong trường hợp này, việc cung cấp một đường dẫn tương đối có ý nghĩa nhất, sẽ được giải thích liên quan đến thư mục cơ sở cài đặt (thư mục nhà của bạn, trong trường hợp này): 0Một ví dụ khác của Unix: Giả sử cài đặt Python của bạn đã được xây dựng và cài đặt với tiền tố là 83, do đó, theo một tập lệnh cài đặt tiêu chuẩn sẽ kết thúc trong 84. Nếu bạn muốn chúng trong 85 thay thế, bạn sẽ cung cấp thư mục tuyệt đối này cho tùy chọn 72: 1. Nếu bạn duy trì Python trên Windows, bạn có thể muốn các mô-đun của bên thứ ba sống trong một thư mục con 8, thay vì ngay trong chính 8. Điều này gần như dễ dàng như tùy chỉnh thư mục cài đặt tập lệnh mà bạn chỉ cần nhớ rằng có hai loại mô -đun để lo lắng, Python và các mô -đun mở rộng, có thể thuận tiện được kiểm soát bởi một tùy chọn: 2Thư mục cài đặt được chỉ định là liên quan đến 8. Tất nhiên, bạn cũng phải đảm bảo rằng thư mục này nằm trong đường dẫn tìm kiếm mô -đun Python, chẳng hạn như bằng cách đặt tệp 91 trong thư mục trang web (xem 17). Xem phần Sửa đổi đường dẫn tìm kiếm Python sườn để tìm hiểu cách sửa đổi đường dẫn tìm kiếm Python.Modifying Python’s Search Path to find out how to modify Python’s search path.Nếu bạn muốn xác định toàn bộ sơ đồ cài đặt, bạn chỉ cần cung cấp tất cả các tùy chọn thư mục cài đặt. Cách khuyến nghị để làm điều này là cung cấp các đường dẫn tương đối; Ví dụ: nếu bạn muốn duy trì tất cả các tệp liên quan đến mô-đun Python trong gunzip -c foo-1.0.tar.gz | tar xf - # unpacks into directory foo-1.0 cd foo-1.0 python setup.py install9 trong thư mục nhà của bạn và bạn muốn có một thư mục riêng cho mỗi nền tảng mà bạn sử dụng thư mục nhà của mình, bạn có thể xác định sơ đồ cài đặt sau: 3hoặc, tương đương, 4 94 không (nhất thiết) một biến môi trường.Rõ ràng, việc chỉ định toàn bộ sơ đồ cài đặt mỗi khi bạn cài đặt phân phối mô -đun mới sẽ rất tẻ nhạt. Do đó, bạn có thể đặt các tùy chọn này vào tệp cấu hình Distutils của mình (xem phần Tệp cấu hình DisTUtils):Distutils Configuration Files): 5hoặc, tương đương, 6 94 không (nhất thiết) một biến môi trường. 7Rõ ràng, việc chỉ định toàn bộ sơ đồ cài đặt mỗi khi bạn cài đặt phân phối mô -đun mới sẽ rất tẻ nhạt. Do đó, bạn có thể đặt các tùy chọn này vào tệp cấu hình Distutils của mình (xem phần Tệp cấu hình DisTUtils): Lưu ý rằng hai cái này không tương đương nếu bạn cung cấp một thư mục cơ sở cài đặt khác khi bạn chạy tập lệnh thiết lập. Ví dụ,Distutils Configuration Files for details. Ghi chú Khi một môi trường ảo được kích hoạt, mọi tùy chọn thay đổi đường dẫn cài đặt sẽ bị bỏ qua từ tất cả các tệp cấu hình Distutils để ngăn chặn cài đặt các dự án bên ngoài môi trường ảo.virtual environment is activated, any options that change the installation path will be ignored from all distutils configuration files to prevent inadvertently installing projects outside of the virtual environment. Sửa đổi đường dẫn tìm kiếm Python từKhi trình thông dịch Python thực thi câu lệnh 01, nó sẽ tìm kiếm cả mã Python và các mô -đun mở rộng dọc theo đường dẫn tìm kiếm. Một giá trị mặc định cho đường dẫn được cấu hình vào nhị phân Python khi trình thông dịch được xây dựng. Bạn có thể xác định đường dẫn bằng cách nhập mô -đun 02 và in giá trị của 16. 8Chuỗi null trong 16 đại diện cho thư mục làm việc hiện tại.Công ước dự kiến cho các gói được cài đặt cục bộ là đưa chúng vào thư mục 05, nhưng bạn có thể muốn cài đặt các mô -đun Python vào một số thư mục tùy ý. Ví dụ: trang web của bạn có thể có quy ước giữ tất cả các phần mềm liên quan đến máy chủ web theo 06. Các mô-đun Python bổ sung sau đó có thể thuộc về 07 và để nhập chúng, thư mục này phải được thêm vào 16. Có một số cách khác nhau để thêm thư mục.Cách thuận tiện nhất là thêm một tệp cấu hình đường dẫn vào một thư mục mà trên đường dẫn của Python, thường là vào thư mục 09. Các tệp cấu hình đường dẫn có phần mở rộng 91 và mỗi dòng phải chứa một đường dẫn duy nhất được nối với 16. .Các đường dẫn có thể là tuyệt đối hoặc tương đối, trong trường hợp đó chúng liên quan đến thư mục chứa tệp 91. Xem tài liệu của mô -đun 17 để biết thêm thông tin.Một cách ít thuận tiện hơn là chỉnh sửa tệp 15 trong thư viện tiêu chuẩn Python, và sửa đổi 16. 15 được tự động nhập khi trình thông dịch Python được thực thi, trừ khi công tắc 18 được cung cấp để đàn áp hành vi này. Vì vậy, bạn có thể chỉ cần chỉnh sửa 15 và thêm hai dòng vào đó: 9Tuy nhiên, nếu bạn cài đặt lại cùng một phiên bản chính của Python (có lẽ khi nâng cấp từ 2.2 lên 2.2.2, chẳng hạn) 15 sẽ bị ghi đè bởi phiên bản chứng khoán. Bạn phải nhớ rằng nó đã được sửa đổi và lưu một bản sao trước khi cài đặt.Có hai biến môi trường có thể sửa đổi 16. 22 đặt giá trị thay thế cho tiền tố của cài đặt Python. Ví dụ: nếu 22 được đặt thành 07, đường dẫn tìm kiếm sẽ được đặt thành 25. 22 sets an alternate value for the prefix of the Python installation. For example, if 22 is set to 07, the search path will be set to 25.Biến 26 có thể được đặt thành danh sách các đường dẫn sẽ được thêm vào đầu 16. Ví dụ: nếu 26 được đặt thành 29, đường dẫn tìm kiếm sẽ bắt đầu bằng 30. (Lưu ý rằng các thư mục phải tồn tại để được thêm vào 16; Mô -đun 17 loại bỏ các đường dẫn không tồn tại.) 26 variable can be set to a list of paths that will be added to the beginning of 16. For example, if
26 is set to 29, the search path will begin with 30. (Note that directories must exist in order to be added to 16; the 17 module removes paths that don’t exist.)Cuối cùng, 16 chỉ là một danh sách Python thông thường, vì vậy bất kỳ ứng dụng Python nào cũng có thể sửa đổi nó bằng cách thêm hoặc xóa các mục.Các tệp cấu hình DistutilsNhư đã đề cập ở trên, bạn có thể sử dụng các tệp cấu hình Distutils để ghi lại tùy chọn cá nhân hoặc trang web cho bất kỳ tùy chọn Distutils nào. Đó là, bất kỳ tùy chọn nào cho bất kỳ lệnh nào cũng có thể được lưu trữ trong một trong hai hoặc ba (tùy thuộc vào nền tảng của bạn) các tệp cấu hình, sẽ được tư vấn trước khi dòng lệnh được phân tích cú pháp. Điều này có nghĩa là các tệp cấu hình sẽ ghi đè các giá trị mặc định và dòng lệnh sẽ lần lượt ghi đè các tệp cấu hình. Hơn nữa, nếu áp dụng nhiều tệp cấu hình, các giá trị từ các tệp trước đó đã bị ghi đè bởi các tệp sau này. Vị trí và tên của các tệp cấu hìnhTên và vị trí của các tệp cấu hình thay đổi một chút trên các nền tảng. Trên Unix và MacOS, ba tệp cấu hình (theo thứ tự chúng được xử lý) là:
Và trên Windows, các tệp cấu hình là:
Và trên Windows, các tệp cấu hình là: Notes:
Cú pháp của các tệp cấu hìnhCác tệp cấu hình Distutils đều có cùng cú pháp. Các tệp cấu hình được nhóm thành các phần. Có một phần cho mỗi lệnh distutils, cộng với phần 54 cho các tùy chọn toàn cầu ảnh hưởng đến mọi lệnh. Mỗi phần bao gồm một tùy chọn trên mỗi dòng, được chỉ định là 55.Ví dụ: sau đây là một tệp cấu hình hoàn chỉnh chỉ buộc tất cả các lệnh phải chạy lặng lẽ theo mặc định: Nếu điều này được cài đặt dưới dạng tệp cấu hình hệ thống, nó sẽ ảnh hưởng đến tất cả việc xử lý bất kỳ phân phối mô -đun Python nào của bất kỳ người dùng nào trên hệ thống hiện tại. Nếu nó được cài đặt dưới dạng tệp cấu hình cá nhân của bạn (trên các hệ thống hỗ trợ chúng), nó sẽ chỉ ảnh hưởng đến phân phối mô -đun do bạn xử lý. Và nếu nó được sử dụng làm 36 cho một phân phối mô -đun cụ thể, nó chỉ ảnh hưởng đến phân phối đó.Bạn có thể ghi đè thư mục mặc định của Build Build Base và thực hiện các lệnh Build* luôn buộc phải xây dựng lại tất cả các tệp sau:build* commands always forcibly rebuild all files with the following: 0tương ứng với các đối số dòng lệnh 1Ngoại trừ bao gồm cả lệnh xây dựng trên dòng lệnh có nghĩa là lệnh đó sẽ được chạy. Bao gồm một lệnh cụ thể trong các tệp cấu hình không có hàm ý như vậy; Điều đó chỉ có nghĩa là nếu lệnh được chạy, các tùy chọn trong tệp cấu hình sẽ được áp dụng. (Hoặc nếu các lệnh khác lấy giá trị từ nó được chạy, chúng sẽ sử dụng các giá trị trong tệp cấu hình.)build command on the command-line means that command will be run. Including a particular command in config files has no such implication; it only means that if the command is run, the options in the config file will apply. (Or if other commands that derive values from it are run, they will use the values in the config file.) Bạn có thể tìm ra danh sách đầy đủ các tùy chọn cho bất kỳ lệnh nào bằng tùy chọn 57, ví dụ: 2Và bạn có thể tìm ra danh sách đầy đủ các tùy chọn toàn cầu bằng cách sử dụng 57 mà không cần lệnh:Xem thêm phần Tài liệu tham khảo của người Viking trong hướng dẫn sử dụng các mô -đun Python phân phối của Python. Xây dựng phần mở rộng: Mẹo và Thủ thuậtBất cứ khi nào có thể, các distutils cố gắng sử dụng thông tin cấu hình được cung cấp bởi trình thông dịch Python được sử dụng để chạy tập lệnh 2. Ví dụ, cùng một trình biên dịch và cờ liên kết được sử dụng để biên dịch Python cũng sẽ được sử dụng để biên dịch các tiện ích mở rộng. Thông thường điều này sẽ hoạt động tốt, nhưng trong các tình huống phức tạp, điều này có thể không phù hợp. Phần này thảo luận về cách ghi đè hành vi phân tích thông thường.Điều chỉnh cờ trình biên dịch/liên kếtBiên dịch một phần mở rộng Python được viết bằng C hoặc C ++ đôi khi sẽ yêu cầu chỉ định các cờ tùy chỉnh cho trình biên dịch và trình liên kết để sử dụng một thư viện cụ thể hoặc tạo ra một loại mã đối tượng đặc biệt. Điều này đặc biệt đúng nếu tiện ích mở rộng đã được thử nghiệm trên nền tảng của bạn hoặc nếu bạn đang cố gắng kết hợp chéo Python. Trong trường hợp chung nhất, tác giả mở rộng có thể dự đoán rằng việc biên dịch các tiện ích mở rộng sẽ phức tạp và cung cấp một tệp 60 để bạn chỉnh sửa. Điều này có thể sẽ chỉ được thực hiện nếu phân phối mô -đun chứa nhiều mô -đun mở rộng riêng biệt hoặc nếu chúng thường yêu cầu các bộ cờ biên dịch phức tạp để hoạt động.Một tệp 60, nếu có, được phân tích cú pháp để có được danh sách các phần mở rộng để xây dựng. Mỗi dòng trong một 60 mô tả một mô -đun duy nhất. Các dòng có cấu trúc sau: 3Hãy lần lượt kiểm tra từng lĩnh vực.
Nếu một nền tảng cụ thể yêu cầu một thư viện đặc biệt trên nền tảng của bạn, bạn có thể thêm nó bằng cách chỉnh sửa tệp 60 và chạy 77. Ví dụ: nếu mô -đun được xác định bởi dòngPhải được liên kết với thư viện toán học 78 trên nền tảng của bạn, chỉ cần thêm 79 vào dòng:Các công tắc tùy ý dành cho trình biên dịch hoặc trình liên kết có thể được cung cấp với các tùy chọn 80 Arg và 81 Arg: 4Tùy chọn tiếp theo sau 80 và 81 sẽ được nối vào dòng lệnh thích hợp, vì vậy trong ví dụ trên, trình biên dịch sẽ được truyền tùy chọn 84 và trình liên kết sẽ được truyền 85. Nếu tùy chọn trình biên dịch yêu cầu đối số, bạn sẽ phải cung cấp nhiều tùy chọn 80; Ví dụ: để vượt qua 87 Tệp 60 sẽ phải chứa 89.Cờ trình biên dịch cũng có thể được cung cấp thông qua việc thiết lập biến môi trường 90. Nếu được đặt, nội dung của 90 sẽ được thêm vào các cờ trình biên dịch được chỉ định trong tệp 60. 90 environment variable. If set, the contents of 90 will be added to the compiler flags specified in the 60 file.Sử dụng trình biên dịch không phải Microsoft trên Windows¶Borland/Codegear C ++ ¶Tiểu mục này mô tả các bước cần thiết để sử dụng Distutils với trình biên dịch Borland C ++ Phiên bản 5.5. Trước tiên, bạn phải biết rằng định dạng tệp đối tượng Borland (OMF) khác với định dạng được sử dụng bởi phiên bản Python bạn có thể tải xuống từ trang web Python hoặc Activeestate. . Bạn có thể làm điều này như sau: 5Chương trình 94 đi kèm với trình biên dịch Borland. Tệp 93 nằm trong thư mục 96 của cài đặt Python của bạn. Nếu tiện ích mở rộng của bạn sử dụng các thư viện khác (zlib, thì), bạn cũng phải chuyển đổi chúng.Các tệp được chuyển đổi phải cư trú trong các thư mục giống như các thư viện thông thường. Làm thế nào để Distutils quản lý để sử dụng các thư viện này với tên đã thay đổi của chúng? Nếu tiện ích mở rộng cần một thư viện (ví dụ: 97) DISTUTILS kiểm tra trước nếu tìm thấy thư viện có hậu tố 98 (ví dụ: 99) và sau đó sử dụng thư viện này. Trong trường hợp, nó không tìm thấy một thư viện đặc biệt như vậy, nó sử dụng tên mặc định ( 00.) 1
Để để Distutils biên dịch tiện ích mở rộng của bạn với Borland C ++, bây giờ bạn phải gõ: 6Nếu bạn muốn sử dụng trình biên dịch Borland C ++ làm mặc định, bạn có thể chỉ định điều này trong tệp cấu hình cá nhân hoặc toàn hệ thống của mình để biết DisTUTils (xem phần Tệp cấu hình Distutils.)Distutils Configuration Files.) GNU C / Cygwin / Mingw¶Phần này mô tả các bước cần thiết để sử dụng distutils với các trình biên dịch GNU C/C ++ trong các phân phối CYGWIN và MINGW của họ. 2 Đối với một thông dịch viên Python được xây dựng với Cygwin, mọi thứ sẽ hoạt động mà không cần bất kỳ bước nào sau đây. Không phải tất cả các tiện ích mở rộng có thể được xây dựng với Mingw hoặc Cygwin, nhưng nhiều người có thể. Các tiện ích mở rộng rất có thể không hoạt động là những phần mở rộng sử dụng C ++ hoặc phụ thuộc vào các tiện ích mở rộng Microsoft Visual C. Để để Distutils biên dịch tiện ích mở rộng của bạn với Cygwin, bạn phải gõ: 7và đối với Cygwin ở chế độ không cygwin 3 hoặc cho loại MingW: 8Nếu bạn muốn sử dụng bất kỳ tùy chọn/trình biên dịch nào làm mặc định, bạn nên xem xét việc viết nó trong tệp cấu hình cá nhân hoặc toàn hệ thống của mình cho DisTUTils (xem phần Tệp cấu hình Distutils.)Distutils Configuration Files.) Các phiên bản cũ của Python và Mingw¶Các hướng dẫn sau đây chỉ áp dụng nếu bạn sử dụng phiên bản Python kém hơn 2.4.1 với MINGW kém hơn 3.0.0 (với Binutils-2.13.90-20030111-1). Các trình biên dịch này yêu cầu một số thư viện đặc biệt. Nhiệm vụ này phức tạp hơn so với Borland, C ++, vì không có chương trình nào để chuyển đổi thư viện. Đầu tiên bạn phải tạo một danh sách các biểu tượng mà Python DLL xuất. . 9Vị trí của một 01 được cài đặt sẽ phụ thuộc vào các tùy chọn cài đặt và phiên bản và ngôn ngữ của Windows. Trong một bản cài đặt chỉ dành cho tôi, nó sẽ xuất hiện trong gốc của thư mục cài đặt. Trong một cài đặt được chia sẻ, nó sẽ được đặt trong thư mục hệ thống.Sau đó, bạn có thể tạo từ những thông tin này một thư viện nhập khẩu cho GCC. 0Thư viện kết quả phải được đặt trong cùng thư mục với 93. (Nên là thư mục 03 trong thư mục cài đặt Python của bạn.)Nếu tiện ích mở rộng của bạn sử dụng các thư viện khác (zlib, thì), bạn cũng có thể phải chuyển đổi chúng. Các tệp được chuyển đổi phải cư trú trong các thư mục giống như các thư viện thông thường làm. Chú thích 1Điều này cũng có nghĩa là bạn có thể thay thế tất cả các thư viện quan hệ hiện có bằng các thư viện OMF cùng tên. 2Kiểm tra https://www.sourceware.org/cygwin/ để biết thêm thông tin 3Sau đó, bạn không có sẵn mô phỏng POSIX, nhưng bạn cũng không cần 04. |