2013-04-25 56 views
2

我有一個(單個).py腳本。其中,我需要導入一個庫。Python:sys.path.append與導入?

爲了找到這個庫,我需要調用sys.path.append。但是,我不想將路徑硬編碼到庫中,而是將其作爲參數傳遞。

所以我的問題是,如果我在這個文件中做一個函數(set_path),我需要導入文件,導入失敗,因爲路徑尚未追加。

什麼是解決這個問題的好方法?評論後

澄清:

  • 我使用IronPython的,和庫路徑是CPython的/ lib目錄。這個路徑在每個系統上(可能)是不同的。
  • 據我所知,我無法通過sys.argv傳遞任何東西,因爲腳本是在嵌入式Python解釋器中運行的,並且沒有主函數。
+0

是不是存儲在您的Python庫安裝(在站點包)? – thegrinner 2013-04-25 15:05:44

+1

設置「PYTHONPATH」環境變量而不是更改「sys.path」會不會更簡單? – Aya 2013-04-25 15:09:59

+0

我使用IronPython,需要使用CPython包;我想追加的路徑實際上是CPython lib目錄的路徑。所以不行。 – Wilbert 2013-04-25 15:10:25

回答

3

不應該全局導入,而是在追加路徑後調用的函數內。