Python menggunakan variabel lingkungan PYTHONPATH
untuk menentukan di folder mana ia harus mencari modul. Anda dapat bermain-main dengannya dengan memodifikasi sys.path
, yang berfungsi baik untuk Modul Python murni. Tetapi ketika sebuah modul menggunakan file objek bersama atau perpustakaan statis, modul tersebut mencarinya di LD_LIBRARY_PATH
(di linux), tetapi ini tidak dapat diubah dengan mudah dan sejauh yang saya tahu bergantung pada platform.
Perbaikan cepat untuk masalah ini tentu saja dengan menyetel variabel lingkungan atau menjalankan skrip seperti LD_LIBRARY_PATH=. ./script.py
, tetapi Anda harus menyetelnya lagi untuk setiap shell baru yang Anda buka. Selain itu, file .so
dalam kasus saya akan selalu berada di direktori yang sama dengan file .py
, tetapi mungkin saja dipindahkan ke jalur absolut lain, jadi saya ingin mengaturnya secara otomatis setiap kali saya menjalankan skrip.
Bagaimana cara mengedit jalur di mana penerjemah Python mencari perpustakaan secara independen pada platform saat runtime?
Sunting:
Saya sudah mencoba os.environ['LD_LIBRARY_PATH'] = os.getcwd()
, tetapi tidak berhasil.
.so
atau.a
tetapi.dll
dan.lib
, dan perpustakaan saya harus dikompilasi ulang untuk itu dengan satu atau lain cara. Saya hanya merasa solusi cepat dan kotor akan memudahkan pengujian dan pengembangan. - person iFreilicht   schedule 23.04.2014