Tôi chỉ mới bắt đầu với Python và cần một chút hướng dẫn.Nhập Mô-đun Python trong Thiết bị đầu cuối nhưng không thông qua Unix Shell
Tôi đang sử dụng máy Mac, nhưng tôi đã cài đặt python.org của python cũng như bản cài đặt gốc của Apple.
Tôi đang cố gắng tải lên một số mô-đun bên thứ 3. Khi tôi chạy kịch bản trong IDLE hoặc thông qua Terminal, mọi thứ hoạt động tốt. Khi tôi cố gắng chạy nó như một công việc CRON, tôi nhận được một lỗi nói rằng nó không thể tìm thấy mô-đun bên thứ 3.
Sau khi một số người nói đùa, tôi đã tin rằng đó là PYTHONPATH/sys.path. Tôi tạo ra một kịch bản thử nghiệm để cho tôi thấy con đường của tôi. Vậy tại sao tôi nhận được các đường dẫn khác nhau khi nó chạy qua cửa sổ đầu cuối so với trực tiếp như một kịch bản lệnh shell?
hai câu hỏi của tôi là:
- Tại sao họ lại khác nhau?
- Làm cách nào để tôi có được quy trình trình bao trực tiếp để tìm Mô-đun bên thứ 3?
Dưới đây là đầu ra sys.path của tôi khi tôi chạy nó trong Terminal:
['/Library/Scripts',
'/Library/Scripts/$',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
'/Library/Frameworks/Python.framework/Versions/7.3/lib/python27.zip',
'/Library/Frameworks/Python.framework/Versions/7.3/lib/python2.7',
'/Library/Frameworks/Python.framework/Versions/7.3/lib/python2.7/plat-darwin',
'/Library/Frameworks/Python.framework/Versions/7.3/lib/python2.7/plat-mac',
'/Library/Frameworks/Python.framework/Versions/7.3/lib/python2.7/plat-mac/lib-scriptpackages',
'/Library/Frameworks/Python.framework/Versions/7.3/lib/python2.7/lib-tk',
'/Library/Frameworks/Python.framework/Versions/7.3/lib/python2.7/lib-old',
'/Library/Frameworks/Python.framework/Versions/7.3/lib/python2.7/lib-dynload',
'/Library/Python/2.7/site-packages']
Dưới đây là đầu ra sys.path của tôi khi tôi chạy nó trong vỏ (trong trường hợp này tôi đang ở trong AppleScript với một "làm shell script" bước.
"['/Library/Scripts',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
'/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old',
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload',
'/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC',
'/Library/Python/2.7/site-packages']"
Bạn chắc chắn nên xem xét virtualenv; nó sẽ giúp bạn sắp xếp các phiên bản khác nhau của các biến đường dẫn python và dự án cụ thể. –