Hiện tại, khi cố gắng tham khảo một số mã thư viện, tôi đang thực hiện việc này ở đầu tệp Python của mình:
import sys
sys.path.append['''C:\code\my-library''']
from my-library import my-library
Sau đó, my-library
sẽ là một phần của sys.path miễn là phiên hoạt động. Nếu tôi bắt đầu một tệp mới, tôi phải nhớ bao gồm sys.path.append
một lần nữa.
Tôi cảm thấy như phải có một cách tốt hơn để làm điều này. Làm thế nào tôi có thể cung cấp my-library
cho mỗi tập lệnh Python trên máy Windows của tôi mà không cần phải sử dụng sys.path.append
mỗi lần?
Hỏi ngày 19 tháng 9 năm 2011 lúc 14:22Sep 19, 2011 at 14:22
Ben McCormackben McCormackBen McCormack
31.4K46 Huy hiệu vàng143 Huy hiệu bạc217 Huy hiệu đồng46 gold badges143 silver badges217 bronze badges
2
Chỉ cần thêm đường dẫn này vào biến môi trường Pythonpath của bạn. Để thực hiện việc này, hãy chuyển đến Biến điều khiển / Hệ thống / Nâng cao / Môi trường và trong các phần "Biến người dùng", hãy kiểm tra xem bạn đã có PythonPath. Nếu có, chọn nó và nhấp vào "Chỉnh sửa", nếu không, nhấp vào "Mới" để thêm nó.
Các đường dẫn trong Pythonpath nên được phân tách với ";".
Đã trả lời ngày 19 tháng 9 năm 2011 lúc 15:12Sep 19, 2011 at 15:12
4
- Bạn nên sử dụng
os.path.join
để làm cho mã của bạn đáng tin cậy hơn. - Bạn đã sử dụng
__my-library__
trong đường dẫn. Vì vậy, đừng sử dụng nó lần thứ hai trong nhập khẩu. Nếu bạn có cấu trúc thư mục như thế nàyC:\code\my-library\lib.py
và một chức năng trong đó, ví dụ:
def main[]:
print["Hello, world"]
sau đó mã kết quả của bạn phải
import sys
sys.path.append[os.path.join['C:/', 'code', 'my-library']]
from lib import main
Shaido
26.5K21 Huy hiệu vàng68 Huy hiệu bạc72 Huy hiệu đồng21 gold badges68 silver badges72 bronze badges
Đã trả lời ngày 26 tháng 8 năm 2019 lúc 11:56Aug 26, 2019 at 11:56
Nếu đây là một thư viện mà bạn sử dụng trong suốt mã của mình, bạn nên cài đặt nó như vậy. Đóng gói đúng cách và cài đặt nó trong thư mục
def main[]:
print["Hello, world"]
0 của bạn - hoặc, nếu nó cụ thể cho một số dự án nhất định, hãy sử dụng def main[]:
print["Hello, world"]
1 và cài đặt nó chỉ trong VirtualEnvs có liên quan.Đã trả lời ngày 19 tháng 9 năm 2011 lúc 14:34Sep 19, 2011 at 14:34
Daniel Rosemandaniel RosemanDaniel Roseman
577K62 Huy hiệu vàng844 Huy hiệu bạc858 Huy hiệu Đồng62 gold badges844 silver badges858 bronze badges
2
Để làm một việc như vậy, bạn sẽ phải sử dụng tệp sitecustomize.py [hoặc usercustomize.py] nơi bạn sẽ thực hiện các sửa đổi hệ thống của mình [tài liệu Python nguồn].
Tạo tệp sitecustomize.py vào thư mục \ lib \ trang phục trang phục của cài đặt Python của bạn và nó sẽ được nhập mỗi khi trình thông dịch Python được khởi chạy.
Đã trả lời ngày 19 tháng 9 năm 2011 lúc 14:29Sep 19, 2011 at 14:29
Cédric Juliencédric JulienCédric Julien
76.7K15 Huy hiệu vàng121 Huy hiệu bạc129 Huy hiệu đồng15 gold badges121 silver badges129 bronze badges
1
Nếu bạn đang thực hiện điều này một cách tương tác, điều tốt nhất cần làm là cài đặt ipython và định cấu hình cài đặt khởi động của bạn để bao gồm mã đó. Nếu bạn có ý định có nó là một phần của tập lệnh bạn chạy từ trình thông dịch, điều tương tự được áp dụng, vì nó sẽ có quyền truy cập vào không gian tên của bạn.
Mặt khác, một kịch bản độc lập không nên tự động bao gồm điều đó. Trong tương lai, bạn hoặc một số người bảo trì khác sẽ đi cùng, và tất cả các mã phải rõ ràng và không phụ thuộc vào một thiết lập máy cụ thể. Điều tốt nhất cần làm là thiết lập một tệp bộ xương cho các dự án mới bao gồm tất cả các chức năng cơ bản bạn cần. Điều đó, cùng với các đoạn trích được sử dụng sẽ xử lý vấn đề.not include that automatically. In the future, you or some other maintainer will come along, and all the code should be obvious, and not dependent upon a specific machine setup. The best thing to do would be to set up a skeleton file for new projects that includes all of the basic functionality you need. That, along with oft-used snippets will handle the problem.
Tất cả mã của bạn để chạy tập lệnh, sẽ có trong tập lệnh và bạn sẽ không phải nghĩ về việc thêm mã đó mỗi lần.
Đã trả lời ngày 19 tháng 9 năm 2011 lúc 14:29Sep 19, 2011 at 14:29
Cédric Juliencédric JulienSpencer Rathbun
76.7K15 Huy hiệu vàng121 Huy hiệu bạc129 Huy hiệu đồng6 gold badges51 silver badges73 bronze badges
Nếu bạn đang thực hiện điều này một cách tương tác, điều tốt nhất cần làm là cài đặt ipython và định cấu hình cài đặt khởi động của bạn để bao gồm mã đó. Nếu bạn có ý định có nó là một phần của tập lệnh bạn chạy từ trình thông dịch, điều tương tự được áp dụng, vì nó sẽ có quyền truy cập vào không gian tên của bạn.
Mặt khác, một kịch bản độc lập không nên tự động bao gồm điều đó. Trong tương lai, bạn hoặc một số người bảo trì khác sẽ đi cùng, và tất cả các mã phải rõ ràng và không phụ thuộc vào một thiết lập máy cụ thể. Điều tốt nhất cần làm là thiết lập một tệp bộ xương cho các dự án mới bao gồm tất cả các chức năng cơ bản bạn cần. Điều đó, cùng với các đoạn trích được sử dụng sẽ xử lý vấn đề.
Tất cả mã của bạn để chạy tập lệnh, sẽ có trong tập lệnh và bạn sẽ không phải nghĩ về việc thêm mã đó mỗi lần.Feb 23, 2021 at 3:58
user3486773user3486773user3486773
Spencer Rathbunspencer Rathbun3 gold badges24 silver badges44 bronze badges