我是Python编程语言的新手。我正在为用户构建一个GUI,以便能够自动将文件传输到文件夹,然后在ArcCatalog中创建一个文件GeoDatabase。
我使用我在网上找到的基本模板构建了一个表单,如下所示:
import wx
class bucky(wx.Frame):
def __init__(self,parent,id):
wx.Frame.__init__(self,parent,id,'Frame aka window', size=(300,200))
panel=wx.Panel(self)
box=wx.TextEntryDialog(None, "Whats ur name?", "Title", "default text")
if box.ShowModal()==wx.ID_OK:
answer=box.GetValue()
if __name__=='__main__':
app=wx.SimpleApp()
frame=bucky(parent=None,id=-1)
frame.Show()
app.MainLoop()
请注意我有Python v2.7,我有64位Windows操作系统,并为64位Windows操作系统安装了相关的wxPython。
我在尝试运行程序时遇到以下错误:
Traceback (most recent call last):
File "C:/Users/xxxxxxxxx/Desktop/Code/Automate/SimpleApp.py", line 1, in <module>
import wx
File "C:\Python27\ArcGIS10.2\lib\site-packages\wx-3.0-msw\wx\__init__.py", line 45, in <module>
from wx._core import *
File "C:\Python27\ArcGIS10.2\lib\site-packages\wx-3.0-msw\wx\_core.py", line 4, in <module>
import _core_
ImportError: DLL load failed: %1 is not a valid Win32 application.
有人可以帮我解决这个问题吗?
感谢。
答案 0 :(得分:3)
您的安装看起来很奇怪。如果我安装wxpython,我就可以了 c:\ python27 \ lib \ site-packages \ wx-something,但你有一些ArcGis10.2。我的猜测是你安装了Python,然后你将ArcGis(无论是什么)安装到c:\ python27 \ ArcGis10.2中。现在,ArcGis已经安装了它自己的Python,所以现在系统中有2个pythons。然后你安装了wxPython,它可能让你在这两个解释器之间进行选择,你选择了arcgis。我对吗? : - )
要了解,请查看是否有文件:
v1 <- c('Nov.24, 2014', '7-Jul-14')
我确实有这两个文件,那就是它,我想你的python是64位,你的wx也是,但是你的arcgis是32位。怎么解决?我会卸载所有3,如果它仍然可能,然后我会安装arcgis并找出它是否真的有它自己的python,它是什么版本,然后我会尝试找到合适的wx和安装。
答案 1 :(得分:0)
我相信它的python 64位,尝试用python 32位重新安装。