Làm thế nào để đặt thư mục làm việc hiện tại trong Python?
Nội phân Chính showShow
- Giới thiệu¶
- Phân phối nguồn dựa trên Distutils
- Xây dựng và cài đặt tiêu chuẩn
- Biến thể nền tảng
- Chia công việc lên
- Cách xây dựng hoạt động lor
- Cách cài đặt hoạt động lor
- Cài đặt thay thế
- Cài đặt thay thế: Sơ đồ người dùng
- Cài đặt thay thế: Chương trình gia đình
- Cài đặt thay thế: UNIX [sơ đồ tiền tố] ¶
- Cài đặt thay thế: Windows [sơ đồ tiền tố] ¶
- Cài đặt tùy chỉnh¶
- Sửa đổi đường dẫn tìm kiếm Python từ
- Các tệp cấu hình Distutils
- Vị trí và tên của các tệp cấu hình
- Cú pháp của các tệp cấu hình
- Xây dựng phần mở rộng: Mẹo và Thủ thuật
- Điều chỉnh cờ trình biên dịch/liên kết
- Sử dụng trình biên dịch không phải Microsoft trên Windows¶
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ử
import os
path="/Users/HOME/Desktop/Addl Work/TimeSeries-Done"
os.chdir[path]
1os.chdir[path]
& nbsp; Tính khả dụng: UNIX, Windows.
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:
import os
os.chdir[default_path]
Đã 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
import os
print os.getcwd[] # Prints the current working directory
Để đặt thư mục làm việc:
os.chdir['c:\\Users\\uname\\desktop\\python'] # Provide the new path here
Đã 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
import os
path="/Users/HOME/Desktop/Addl Work/TimeSeries-Done"
os.chdir[path]
Để kiểm tra thư mục làm việc
os.getcwd[]
Đã 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
import os
import pandas as pd
tar = os.chdir[''] # do not mention file name here
print os.getcwd[]# to print the path name in CLI
Cú pháp sau được sử dụng để nhập tệp trong Python CLI
dataset[*just a variable] = pd.read_csv['new.csv']
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
import os
path="/Users/HOME/Desktop/Addl Work/TimeSeries-Done"
os.chdir[path]
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
import os
path="/Users/HOME/Desktop/Addl Work/TimeSeries-Done"
os.chdir[path]
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 Distutils
Trong Python 2.0, API
import os
path="/Users/HOME/Desktop/Addl Work/TimeSeries-Done"
os.chdir[path]
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
import os
path="/Users/HOME/Desktop/Addl Work/TimeSeries-Done"
os.chdir[path]
4 và hệ thống xây dựng import os
path="/Users/HOME/Desktop/Addl Work/TimeSeries-Done"
os.chdir[path]
5, thay vào đó hơn là sử dụng import os
path="/Users/HOME/Desktop/Addl Work/TimeSeries-Done"
os.chdir[path]
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ẩn
Tà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
import os
path="/Users/HOME/Desktop/Addl Work/TimeSeries-Done"
os.chdir[path]
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ảng
Bạ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
import os
path="/Users/HOME/Desktop/Addl Work/TimeSeries-Done"
os.chdir[path]
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
os.getcwd[]
6. Nếu bạn đã tải tệp lưu trữ xuống os.getcwd[]
7, thì nó sẽ giải nén vào os.getcwd[]
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ên
Chạy
os.getcwd[]
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:
import os
os.chdir[default_path]
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
import os
import pandas as pd
tar = os.chdir[''] # do not mention file name here
print os.getcwd[]# to print the path name in CLI
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 import os
import pandas as pd
tar = os.chdir[''] # do not mention file name here
print os.getcwd[]# to print the path name in CLI
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 lor
Theo 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à
import os
import pandas as pd
tar = os.chdir[''] # do not mention file name here
print os.getcwd[]# to print the path name in CLI
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 import os
import pandas as pd
tar = os.chdir[''] # do not mention file name here
print os.getcwd[]# to print the path name in CLI
2. Ví dụ:build command is responsible for putting the files to install into a build directory. By
default, this is import os
import pandas as pd
tar = os.chdir[''] # do not mention file name here
print os.getcwd[]# to print the path name in CLI
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 import os
import pandas as pd
tar = os.chdir[''] # do not mention file name here
print os.getcwd[]# to print the path name in CLI
2 option. For example:import os
os.chdir[default_path]
1.Distutils Configuration Files.] Normally, this isn’t necessary.
Bố cục mặc định cho cây xây dựng như sau:
import os
os.chdir[default_path]
2trong đó
import os
import pandas as pd
tar = os.chdir[''] # do not mention file name here
print os.getcwd[]# to print the path name in CLI
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 import os
import pandas as pd
tar = os.chdir[''] # do not mention file name here
print os.getcwd[]# to print the path name in CLI
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 import os
import pandas as pd
tar = os.chdir[''] # do not mention file name here
print os.getcwd[]# to print the path name in CLI
3, được sử dụng. Trong trường hợp đó, thư mục import os
import pandas as pd
tar = os.chdir[''] # do not mention file name here
print os.getcwd[]# to print the path name in CLI
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 import os
import pandas as pd
tar = os.chdir[''] # do not mention file name here
print os.getcwd[]# to print the path name in CLI
4 [hoặc import os
import pandas as pd
tar = os.chdir[''] # do not mention file name here
print os.getcwd[]# to print the path name in CLI
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 lor
Sau 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
import os
import pandas as pd
tar = os.chdir[''] # do not mention file name here
print os.getcwd[]# to print the path name in CLI
9 [hoặc dataset[*just a variable] = pd.read_csv['new.csv']
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 import os
import pandas as pd
tar = os.chdir[''] # do not mention file name here
print os.getcwd[]# to print the path name in CLI
9 [or dataset[*just a variable] = pd.read_csv['new.csv']
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”]:
UNIX [tinh khiết] | 2
| 3
| [1] |
UNIX [không pure] | 4
| 3
| [1] |
các cửa sổ | 6
| 7
| [2] |
Notes:
Hầu hết các bản phân phối Linux bao gồm Python là một phần tiêu chuẩn của hệ thống, do đó
8 vàdataset[*just a variable] = pd.read_csv['new.csv']
9 thường là cảdataset[*just a variable] = pd.read_csv['new.csv']
gunzip -c foo-1.0.tar.gz | tar xf - # unpacks into directory foo-1.0 cd foo-1.0 python setup.py install
0 trên Linux. Nếu bạn tự xây dựng Python trên Linux [hoặc bất kỳ hệ thống giống như UNIX nào], mặc định
8 vàdataset[*just a variable] = pd.read_csv['new.csv']
9 làdataset[*just a variable] = pd.read_csv['new.csv']
gunzip -c foo-1.0.tar.gz | tar xf - # unpacks into directory foo-1.0 cd foo-1.0 python setup.py install
3.Thư mục cài đặt mặc định trên Windows là
gunzip -c foo-1.0.tar.gz | tar xf - # unpacks into directory foo-1.0 cd foo-1.0 python setup.py install
4 theo Python 1.6A1, 1.5.2 và trước đó.
dataset[*just a variable] = pd.read_csv['new.csv']
8 và dataset[*just a variable] = pd.read_csv['new.csv']
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 dataset[*just a variable] = pd.read_csv['new.csv']
8 và dataset[*just a variable] = pd.read_csv['new.csv']
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
dataset[*just a variable] = pd.read_csv['new.csv']
8 và dataset[*just a variable] = pd.read_csv['new.csv']
9 của tôi:import os
os.chdir[default_path]
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
import os
os.chdir[default_path]
00 hoặc import os
os.chdir[default_path]
01 và import os
os.chdir[default_path]
02 hoặc import os
os.chdir[default_path]
03 và import os
os.chdir[default_path]
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ùng
Sơ đồ 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:
import os
os.chdir[default_path]
4Các tệp sẽ được cài đặt vào các thư mục con của
import os
os.chdir[default_path]
05 [được viết là import os
os.chdir[default_path]
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à import os
os.chdir[default_path]
07]. Dưới đây là các giá trị cho Unix, bao gồm cả macOS:
Mô -đun | 08
|
kịch bản | 09
|
dữ liệu | 06
|
C tiêu đề | 11
|
Và đây là các giá trị được sử dụng trên Windows:
Mô -đun | 12
|
kịch bản | 13
|
dữ liệu | 06
|
C tiêu đề | 15
|
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
import os
os.chdir[default_path]
16 [xem import os
os.chdir[default_path]
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 os.getcwd[]
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
import os
os.chdir[default_path]
20 to the compiler search path for header files and import os
os.chdir[default_path]
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].
import os
os.chdir[default_path]
import os
os.chdir[default_path]
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ư
import os
os.chdir[default_path]
22 hoặc import os
os.chdir[default_path]
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.import os
os.chdir[default_path]
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
import os
os.chdir[default_path]
00. Trên Unix, những người đánh máy lười biếng chỉ có thể gõ một tilde [import os
os.chdir[default_path]
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:import os
os.chdir[default_path]
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
import os
os.chdir[default_path]
26 [xem import os
os.chdir[default_path]
17] để gọi import os
os.chdir[default_path]
28 hoặc chỉnh sửa import os
os.chdir[default_path]
16.modify Python’s search path or edit import os
os.chdir[default_path]
26 [see import os
os.chdir[default_path]
17] to call import os
os.chdir[default_path]
28 or edit import os
os.chdir[default_path]
16.Tùy chọn
import os
os.chdir[default_path]
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:
Mô -đun | 31
|
kịch bản | 32
|
dữ liệu | 33
|
C tiêu đề | 34
|
.
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
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ớiimport os
os.chdir[default_path]
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
import os
os.chdir[default_path]
39 có thể tìm kiếm các mô -đun trong import os
os.chdir[default_path]
37, nhưng các mô -đun đó sẽ được cài đặt để nói, import os
os.chdir[default_path]
41. Điều này có thể được thực hiện vớiimport os
os.chdir[default_path]
8Trong cả hai trường hợp, tùy chọn
import os
os.chdir[default_path]
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 | 2
|
kịch bản | 4 |
kịch bản | 48
|
dữ liệu | 8
|
C tiêu đề | 50
|
.
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ới
import os
os.chdir[default_path]
import os
os.chdir[default_path]
Mộ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
import os
os.chdir[default_path]
39 có thể tìm kiếm các mô -đun trong import os
os.chdir[default_path]
37, nhưng các mô -đun đó sẽ được cài đặt để nói, import os
os.chdir[default_path]
41. Điều này có thể được thực hiện vớiimport os
os.chdir[default_path]
9Trong cả hai trường hợp, tùy chọn
import os
os.chdir[default_path]
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
Mô -đun | 6
|
kịch bản | 66
|
dữ liệu | 8
|
C tiêu đề | 68
|
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:
Mô -đun Python | 69
|
Mô -đun mở rộng | 70
|
Tất cả các mô -đun | 71
|
kịch bản | 72
|
dữ liệu | 73
|
C tiêu đề | 74
|
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
import os
os.chdir[default_path]
80 thay vì import os
os.chdir[default_path]
81. Như bạn có thể mong đợi, bạn có thể ghi đè thư mục này với tùy chọn import os
os.chdir[default_path]
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]:import os
print os.getcwd[] # Prints the current working directory
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à
import os
os.chdir[default_path]
83, do đó, theo một tập lệnh cài đặt tiêu chuẩn sẽ kết thúc trong import os
os.chdir[default_path]
84. Nếu bạn muốn chúng trong import os
os.chdir[default_path]
85 thay thế, bạn sẽ cung cấp thư mục tuyệt đối này cho tùy chọn import os
os.chdir[default_path]
72:import os
print os.getcwd[] # Prints the current working directory
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
dataset[*just a variable] = pd.read_csv['new.csv']
8, thay vì ngay trong chính dataset[*just a variable] = pd.read_csv['new.csv']
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:import os
print os.getcwd[] # Prints the current working directory
2Thư mục cài đặt được chỉ định là liên quan đến
dataset[*just a variable] = pd.read_csv['new.csv']
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 import os
os.chdir[default_path]
91 trong thư mục trang web [xem import os
os.chdir[default_path]
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:
import os
print os.getcwd[] # Prints the current working directory
3hoặc, tương đương,
import os
print os.getcwd[] # Prints the current working directory
4import os
os.chdir[default_path]
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]:
import os
print os.getcwd[] # Prints the current working directory
5hoặc, tương đương,
import os
print os.getcwd[] # Prints the current working directory
6import os
os.chdir[default_path]
94 không [nhất thiết] một biến môi trường.import os
print os.getcwd[] # Prints the current working directory
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
import os
print os.getcwd[] # Prints the current working directory
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 import os
print os.getcwd[] # Prints the current working directory
02 và in giá trị của import os
os.chdir[default_path]
16.import os
print os.getcwd[] # Prints the current working directory
8Chuỗi null trong
import os
os.chdir[default_path]
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
import os
print os.getcwd[] # Prints the current working directory
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 import os
print os.getcwd[] # Prints the current working directory
06. Các mô-đun Python bổ sung sau đó có thể thuộc về import os
print os.getcwd[] # Prints the current working directory
07 và để nhập chúng, thư mục này phải được thêm vào import os
os.chdir[default_path]
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
import os
print os.getcwd[] # Prints the current working directory
09. Các tệp cấu hình đường dẫn có phần mở rộng import os
os.chdir[default_path]
91 và mỗi dòng phải chứa một đường dẫn duy nhất được nối với import os
os.chdir[default_path]
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
import os
os.chdir[default_path]
91. Xem tài liệu của mô -đun import os
os.chdir[default_path]
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
import os
print os.getcwd[] # Prints the current working directory
15 trong thư viện tiêu chuẩn Python, và sửa đổi import os
os.chdir[default_path]
16. import os
print os.getcwd[] # Prints the current working directory
15 được tự động nhập khi trình thông dịch Python được thực thi, trừ khi công tắc import os
print os.getcwd[] # Prints the current working directory
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 import os
print os.getcwd[] # Prints the current working directory
15 và thêm hai dòng vào đó:import os
print os.getcwd[] # Prints the current working directory
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]
import os
print os.getcwd[] # Prints the current working directory
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
import os
os.chdir[default_path]
16. import os
print os.getcwd[] # Prints the current working directory
22 đặt giá trị thay thế cho tiền tố của cài đặt Python. Ví dụ: nếu import os
print os.getcwd[] # Prints the current working directory
22 được đặt thành import os
print os.getcwd[] # Prints the current working directory
07, đường dẫn tìm kiếm sẽ được đặt thành import os
print os.getcwd[] # Prints the current working directory
25.import os
print os.getcwd[] # Prints the current working directory
22 sets an alternate value for the prefix of the Python installation. For example, if import os
print os.getcwd[] # Prints the current working directory
22 is set to import os
print os.getcwd[] # Prints the current working directory
07, the search path will be set to import os
print os.getcwd[] # Prints the current working directory
25.Biến
import os
print os.getcwd[] # Prints the current working directory
26 có thể được đặt thành danh sách các đường dẫn sẽ được thêm vào đầu import os
os.chdir[default_path]
16. Ví dụ: nếu import os
print os.getcwd[] # Prints the current working directory
26 được đặt thành import os
print os.getcwd[] # Prints the current working directory
29, đường dẫn tìm kiếm sẽ bắt đầu bằng import os
print os.getcwd[] # Prints the current working directory
30. [Lưu ý rằng các thư mục phải tồn tại để được thêm vào import os
os.chdir[default_path]
16; Mô -đun import os
os.chdir[default_path]
17 loại bỏ các đường dẫn không tồn tại.]import os
print os.getcwd[] # Prints the current working directory
26 variable can be set to a list of paths that will be added to the beginning of import os
os.chdir[default_path]
16. For example, if
import os
print os.getcwd[] # Prints the current working directory
26 is set to import os
print os.getcwd[] # Prints the current working directory
29, the search path will begin with import os
print os.getcwd[] # Prints the current working directory
30. [Note that directories must exist in order to be added to import os
os.chdir[default_path]
16; the import os
os.chdir[default_path]
17 module removes paths that don’t exist.]Cuối cùng,
import os
os.chdir[default_path]
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 Distutils
Như đã đề 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ình
Tê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à:
hệ thống | 34
| [1] |
riêng tư | 35
| [2] |
địa phương | 36
| [3] |
Và trên Windows, các tệp cấu hình là:
hệ thống | 37
| [4] |
riêng tư | 38
| [5] |
địa phương | 36
| [3] |
Và trên Windows, các tệp cấu hình là:
Notes:
Trên tất cả các nền tảng, tệp cá nhân của người Viking có thể bị vô hiệu hóa tạm thời bằng cách chuyển tùy chọn của người dùng không phải là người dùng.
Trên Unix, nếu biến môi trường
41 không được xác định, thư mục nhà của người dùng sẽ được xác định với hàmimport os print os.getcwd[] # Prints the current working directory
42 từ mô -đunimport os print os.getcwd[] # Prints the current working directory
43 tiêu chuẩn. Điều này được thực hiện bởi chức năngimport os print os.getcwd[] # Prints the current working directory
44 được sử dụng bởi distutils.import os print os.getcwd[] # Prints the current working directory
41 environment variable is not defined, the user’s home directory will be determined with theimport os print os.getcwd[] # Prints the current working directory
42 function from the standardimport os print os.getcwd[] # Prints the current working directory
43 module. This is done by theimport os print os.getcwd[] # Prints the current working directory
44 function used by Distutils.import os print os.getcwd[] # Prints the current working directory
Tức là, trong thư mục hiện tại [thường là vị trí của tập lệnh thiết lập].
. Theo Python 1.5.2, tiền tố mặc định là
47 và DisTutils không phải là một phần của thư viện tiêu chuẩn, vì vậy tệp cấu hình hệ thống sẽ làimport os print os.getcwd[] # Prints the current working directory
48 trong cài đặt Python 1.5.2 tiêu chuẩn trong Windows.import os print os.getcwd[] # Prints the current working directory
Trên Windows, nếu biến môi trường
41 không được xác định,import os print os.getcwd[] # Prints the current working directory
50 thìimport os print os.getcwd[] # Prints the current working directory
51 vàimport os print os.getcwd[] # Prints the current working directory
52 sẽ được thử. Điều này được thực hiện bởi chức năngimport os print os.getcwd[] # Prints the current working directory
44 được sử dụng bởi distutils.import os print os.getcwd[] # Prints the current working directory
41 environment variable is not defined,import os print os.getcwd[] # Prints the current working directory
50 thenimport os print os.getcwd[] # Prints the current working directory
51 andimport os print os.getcwd[] # Prints the current working directory
52 will be tried. This is done by theimport os print os.getcwd[] # Prints the current working directory
44 function used by Distutils.import os print os.getcwd[] # Prints the current working directory
Cú pháp của các tệp cấu hình
Cá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
import os
print os.getcwd[] # Prints the current working directory
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à import os
print os.getcwd[] # Prints the current working directory
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
import os
print os.getcwd[] # Prints the current working directory
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:
os.chdir['c:\\Users\\uname\\desktop\\python'] # Provide the new path here
0tương ứng với các đối số dòng lệnh
os.chdir['c:\\Users\\uname\\desktop\\python'] # Provide the new path here
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
import os
print os.getcwd[] # Prints the current working directory
57, ví dụ:os.chdir['c:\\Users\\uname\\desktop\\python'] # Provide the new path here
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
import os
print os.getcwd[] # Prints the current working directory
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ật
Bấ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
os.getcwd[]
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ết
Biê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
import os
print os.getcwd[] # Prints the current working directory
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
import os
print os.getcwd[] # Prints the current working directory
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 import os
print os.getcwd[] # Prints the current working directory
60 mô tả một mô -đun duy nhất. Các dòng có cấu trúc sau:os.chdir['c:\\Users\\uname\\desktop\\python'] # Provide the new path here
3Hãy lần lượt kiểm tra từng lĩnh vực.
Mô -đun là tên của mô -đun mở rộng sẽ được xây dựng và phải là định danh Python hợp lệ. Bạn có thể chỉ cần thay đổi điều này để đổi tên một mô -đun [chỉnh sửa thành mã nguồn cũng sẽ cần thiết], vì vậy điều này nên được để lại một mình.
SourceFile là bất cứ điều gì mà có khả năng là một tệp mã nguồn, ít nhất là đánh giá bởi tên tệp. Tên tệp kết thúc trong
63 được giả định là được viết bằng C, tên tệp kết thúc trongimport os print os.getcwd[] # Prints the current working directory
64,import os print os.getcwd[] # Prints the current working directory
65 vàimport os print os.getcwd[] # Prints the current working directory
66 được cho là C ++ và các tên tệp kết thúc trongimport os print os.getcwd[] # Prints the current working directory
67 hoặcimport os print os.getcwd[] # Prints the current working directory
68 được giả định là mục tiêu C.import os print os.getcwd[] # Prints the current working directory
CPPARG là một đối số cho bộ tiền xử lý C và là bất cứ điều gì bắt đầu với
69,import os print os.getcwd[] # Prints the current working directory
70,import os print os.getcwd[] # Prints the current working directory
71 hoặcimport os print os.getcwd[] # Prints the current working directory
72.import os print os.getcwd[] # Prints the current working directory
Thư viện là bất cứ điều gì kết thúc trong
73 hoặc bắt đầu vớiimport os print os.getcwd[] # Prints the current working directory
74 hoặcimport os print os.getcwd[] # Prints the current working directory
75.import os print os.getcwd[] # Prints the current working directory
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
import os
print os.getcwd[] # Prints the current working directory
60 và chạy import os
print os.getcwd[] # Prints the current working directory
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
import os
print os.getcwd[] # Prints the current working directory
78 trên nền tảng của bạn, chỉ cần thêm import os
print os.getcwd[] # Prints the current working directory
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
import os
print os.getcwd[] # Prints the current working directory
80 Arg và import os
print os.getcwd[] # Prints the current working directory
81 Arg:os.chdir['c:\\Users\\uname\\desktop\\python'] # Provide the new path here
4Tùy chọn tiếp theo sau
import os
print os.getcwd[] # Prints the current working directory
80 và import os
print os.getcwd[] # Prints the current working directory
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 import os
print os.getcwd[] # Prints the current working directory
84 và trình liên kết sẽ được truyền import os
print os.getcwd[] # Prints the current working directory
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 import os
print os.getcwd[] # Prints the current working directory
80; Ví dụ: để vượt qua import os
print os.getcwd[] # Prints the current working directory
87 Tệp import os
print os.getcwd[] # Prints the current working directory
60 sẽ phải chứa import os
print os.getcwd[] # Prints the current working directory
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
import os
print os.getcwd[] # Prints the current working directory
90. Nếu được đặt, nội dung của import os
print os.getcwd[] # Prints the current working directory
90 sẽ được thêm vào các cờ trình biên dịch được chỉ định trong tệp import os
print os.getcwd[] # Prints the current working directory
60.import os
print os.getcwd[] # Prints the current working directory
90 environment variable. If set, the contents of import os
print os.getcwd[] # Prints the current working directory
90 will be added to the compiler flags specified in the import os
print os.getcwd[] # Prints the current working directory
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:
os.chdir['c:\\Users\\uname\\desktop\\python'] # Provide the new path here
5Chương trình
import os
print os.getcwd[] # Prints the current working directory
94 đi kèm với trình biên dịch Borland. Tệp import os
print os.getcwd[] # Prints the current working directory
93 nằm trong thư mục import os
print os.getcwd[] # Prints the current working directory
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ụ:
import os
print os.getcwd[] # Prints the current working directory
97] DISTUTILS kiểm tra trước nếu tìm thấy thư viện có hậu tố import os
print os.getcwd[] # Prints the current working directory
98 [ví dụ: import os
print os.getcwd[] # Prints the current working directory
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 [os.chdir['c:\\Users\\uname\\desktop\\python'] # Provide the new path here
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õ:
os.chdir['c:\\Users\\uname\\desktop\\python'] # Provide the new path here
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õ:
os.chdir['c:\\Users\\uname\\desktop\\python'] # Provide the new path here
7và đối với Cygwin ở chế độ không cygwin 3 hoặc cho loại MingW:
os.chdir['c:\\Users\\uname\\desktop\\python'] # Provide the new path here
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 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. .
os.chdir['c:\\Users\\uname\\desktop\\python'] # Provide the new path here
9Vị trí của một
os.chdir['c:\\Users\\uname\\desktop\\python'] # Provide the new path here
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.
import os
path="/Users/HOME/Desktop/Addl Work/TimeSeries-Done"
os.chdir[path]
0Thư viện kết quả phải được đặt trong cùng thư mục với
import os
print os.getcwd[] # Prints the current working directory
93. [Nên là thư mục os.chdir['c:\\Users\\uname\\desktop\\python'] # Provide the new path here
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 //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
os.chdir['c:\\Users\\uname\\desktop\\python'] # Provide the new path here
04.