我真的幾乎放棄嘗試創建一個導入導出模塊插件到Blender 2.68,它似乎是一個不可逾越的python問題(Blender使用python 3.3)。 我看到很多關於這個主題的stackoverflow的問題,但他們都沒有回答我的問題。我的腳本 部分:Blender ImportError:無法導入名稱
if "bpy" in locals():
import imp
imp.reload(xplane_ui)
print ("xplane_ui reloaded.")
imp.reload(explane_import)
print ("All modules reloaded.")
else:
import bpy
from io_explane import xplane_ui
print ("xplane_ui imported.")
from io_explane import explane_import #this is line 47
print ("All modules imported")
我增加了額外的打印線,看看發生了什麼。 以下是追蹤結果:
Read new prefs: C:\Users\BT\AppData\Roaming\Blender Foundation\Blender\2.68\config\userpref.blend
found bundled python: C:\blender-2.68a-windows32\2.68\python
xplane_ui imported
All modules imported
xplane_ui imported.
Traceback (most recent call last):
File "C:\blender-2.68a-windows32\2.68\scripts\modules\addon_utils.py", line 294, in enable
mod = __import__(module_name)
File "C:\blender-2.68a-windows32\2.68\scripts\addons\io_explane\__init__.py", line 47, in <module>
from io_explane import explane_import
ImportError: cannot import name explane_import
這太奇怪了。我認爲python從上到下發展,但它會如何通過 第46,47和48行進行,然後改變第47行的決定,並宣佈明顯完成後無法做到這一點? python是一種無用的程序語言,或者攪拌機壞了,或者兩者都有。無論哪種方式,錯誤捕獲例程是非常無益的。
我應該提到我不需要文件xplane_ui。我故意添加該文件來測試它,看來blender或python會導入一些文件,但不導入其他文件。我也用Komodo Edit檢查了被拒絕的文件explane_import,並且沒有錯誤。一分鐘之後,神祕感變得越來越大。 – user2349655
嘗試插入另一個知道從另一個插件良好的文件。它裝載正常。 然後嘗試將這個文件重命名爲explane_import並且它仍然加載OK。 這表明真正的問題是攪拌器而不是python由於內容中的某些內容而拒絕我的文件。 – user2349655
結論是我試圖導入的文件包含混合器被拒絕的數據。這不是一個python問題。這個問題可能被刪除,因爲它可能對其他用戶沒有幫助。 – user2349655