2009-10-23 50 views
18

我正在嘗試按照「PyObjC development with Xcode 3.2」接受答案的說明進行操作。我將在這裏重新發布它們,因爲我沒有足夠的代表對實際問題進行評論:ImportError:沒有名爲Foundation的模塊


這裏是我做了什麼讓PyObjC在雪豹工作:

  • 使用Finder作爲嘉賓,我去了Go > Connect to Server...並連接到http://svn.red-bean.com/pyobjc/trunk/pyobjc/pyobjc-xcode/

  • 然後我在本地系統上創建了一個名爲Xcode的文件夾,地址爲~Library/Application Support/Developer/Shared/Xcode/。 (你可能已經有這個文件夾,但我還沒有爲我自己定製任何東西)。

  • 我將紅豆服務器中的File Templates文件夾複製到我的新Xcode文件夾中。

  • Project Templates文件夾複製到其他位置,例如桌面。

  • 使用終端,導航到臨時項目模板在我的桌面文件夾,並運行此命令,以「建」的模板:

$ cd ~/Desktop/Project\ Templates/

$ ./project-tool.py -k -v --template ~/Desktop/Project\ Templates/Cocoa-Python\ Application/CocoaApp.xcodeproj/TemplateInfo.plist Cocoa-Python\ Application ~/Library/Application\ Support/Developer/Shared/Xcode/Project\ Templates/Cocoa-Python\ Application


當我嘗試運行以./project-tool.py開頭的行,在終端中出現以下錯誤:

Traceback (most recent call last): 
    File "./project-tool.py", line 22, in <module> 
    from Foundation import NSDictionary 
ImportError: No module named Foundation 

I我正在運行Snow Leopard,並安裝了Xcode 3.2.1,並且已經讀過該模塊應該已經安裝並正常工作。我讀過你可以通過在Python命令行中運行>>> import objc來測試PyObjC模塊是否工作。當我跑,我得到:

>>> import objc 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named objc 

誰能幫我打消了這個錯誤?看來我應該能夠通過我的Snow Leopard安裝自動完成所有這些工作,但是我不能。

回答

5

好吧,事實證明,修訂M​​JV的回答,我能得到它的工作通過執行./project-tool.py前行中鍵入

export PYTHONPATH="/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/PyObjC/" 

。我仍然覺得我不得不這樣做,如果有人能夠看到爲什麼,我會很高興知道。

這樣做也得到了

>>> import objc 

線工作。

+1

如果它有幫助,當用「python」執行我的腳本時,我得到了同樣的錯誤...但是如果我使用/ usr/bin/python執行它,那麼它可以工作(無需導出任何其他路徑)。 – 2014-01-08 23:09:38

2

兩種情況之一:

  • 無論是基金會模塊不存在
  • 或Python解釋器不知道什麼時候才能找到這個文件

的Python查找模塊的PythonPath

關於如何創建Python Path的更多詳細信息,請參閱此SO question等。

+0

謝謝你。瞭解如何編輯Python路徑很有用。不幸的是,儘管如此,我不知道我應該加入什麼樣的路徑來融入基金會。 – 2009-10-23 17:10:53

1

運行python -v來跟蹤導入語句,這也適用於交互模式。

+0

對不起,我跑了這個,我確實得到了輸出。我只是不明白我應該在尋找什麼。 – 2009-10-23 17:08:58

4

這是因爲PyObjC有: /System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/PyObjC

編輯: 我發現如何讓 「進口objc」 工作,只是: 出口PYTHONPATH = 「/系統/資源庫/框架/ Python.framework /版本/ 2.6 /額外/ lib中/蟒蛇/」

它將所有的目錄添加到Python路徑(sys.path的)

20

我有同樣的問題。我的想法是使用homebrew來安裝我自己的Python來修補。

$ pip install pyobjc 

對於利息,從(http://pythonhosted.org/pyobjc/

The PyObjC project aims to provide a bridge between the Python and Objective-C programming languages.

2

因爲我很擔心混合Python版本,而不是創建如上所述的聯繫,我用安裝了一個新pyobjc for python 2.7

export PYTHONPATH =「/ System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python /」

0

我可以通過運行我的OSX訪問基金會的Python安裝/usr/bin/python file-to-run.py

相關問題