2010-08-19 32 views
25

Có cách nào để thay đổi thư mục nơi tệp .pyc được tạo bởi trình thông dịch Python không? Tôi thấy hai PEP về chủ đề đó (03043147), nhưng dường như không có ai được thực hiện trong trình thông dịch mặc định (tôi đang làm việc với Python 3).Thay đổi thư mục nơi tệp .pyc được tạo

Tôi đã bỏ lỡ điều gì đó?

+0

Bạn có thể cho chúng tôi biết thêm về lý do bạn muốn di chuyển chúng không? –

+5

Đó là chỉ vì tò mò, để giữ cho các thư mục sạch sẽ. – Scharron

+0

Tôi đã tự hỏi điều tương tự. Tôi có một trường hợp mà các thư mục với các tập tin nguồn không ghi được, và muốn di dời pycache để tất cả người dùng có thể hưởng lợi từ bộ nhớ cache mà không cần phải ghi quyền truy cập vào thư mục tệp nguồn python thực tế. – mattgately

Trả lời

19

Không có cách nào thay đổi vị trí tệp .pyc. Python 3.2 triển khai sơ đồ __pycache__ theo đó tất cả các tệp .pyc đi vào một thư mục có tên __pycache__. Python 3.2 alpha 1 có sẵn ngay bây giờ nếu bạn thực sự cần phải giữ cho các thư mục của bạn sạch sẽ.

Cho đến khi 3.2 được phát hành, hãy định cấu hình bao nhiêu công cụ để bạn có thể bỏ qua tệp .pyc.

+1

Phiên bản 3.2 đã hết! Yay! – Scharron

+0

Các tệp .py tuỳ chỉnh của bạn được biên dịch và lưu trữ trong tệp .pyc trong thư mục '__pycache__' trong cùng một thư mục. Bạn sẽ tìm thấy các tệp được biên dịch phổ biến trong 'C: \ Python34 \ Lib \ __ pycache__'. –

-2

Không, bạn không bỏ lỡ bất cứ điều gì.

Các tệp .pyc luôn được tạo tại vị trí của tệp `.py.

Có một số bản vá lỗi thực sự cũ xung quanh để tắt hoàn toàn tệp .pyc. Nhưng ... tại sao bạn cần?

+27

Tại sao bạn cần? Bởi vì chúng tăng gấp đôi kích thước của bất kỳ danh sách thư mục nào bạn có với rác mà bạn không cần phải xem. Tôi giữ của tôi .o của tôi từ của tôi .cpp's, tại sao tôi không nên giữ .pyc của tôi đi từ .py của tôi? –

16

này có thể có ích cho một số: Miscellaneous options

-B Nếu nhất định, Python sẽ không cố gắng để viết pyc hoặc các tập tin .pyo về việc nhập khẩu các module nguồn. Xem thêm PYTHONDONTWRITEBYTECODE.

New in version 2.6. 
0

Tệp Python KHÔNG luôn được lưu trữ trong cùng thư mục và sẽ được chuyển hướng đến pycache nếu bạn sử dụng pycache. Bất kỳ câu trả lời nào về việc có thể có vị trí và tên tùy chỉnh, bởi vì việc nhập mô-đun là khá bình thường và không phải lúc nào cũng hoạt động. Bạn sẽ có thể thấy những gì tôi có ý nghĩa tại github.com/LolexInc/Lolex-Tools/tree/Beta và xem JTToolsInstaller.py. Có rất nhiều mớ hỗn độn trong đó.

Các vấn đề liên quan