学习python中遇到的那些坑

1.wxpython:

 开始学习python一段时间后,厌倦了命令行,想着玩玩GUI,python自带的Tkinter我就不说了,前人说过,坑太多我就不去踏了

目标钉在wxpythonpyQT,网上推荐较多的是wxpython,    pyQ没玩过,想想QT的东西肯定不简单,就没去碰,乖乖的安装了wxPython

写出了第一个wxpython程序:这个程序没有什么功能,就是一个文本框中显示鼠标的坐标值

# -*- coding: UTF-8 -*-
'''
Created on 2014-10-30

@author: bo.chen
'''
import wx
class MyFrame(wx.Frame):

    def __init__(self):
        wx.Frame.__init__(self, None, -1, "My Frame", size=(300, 300))
        panel = wx.Panel(self, -1)
        panel.Bind(wx.EVT_MOTION,  self.OnMove)
        wx.StaticText(panel, -1, "Pos:", pos=(10, 12))
        self.posCtrl = wx.TextCtrl(panel, -1, "", pos=(40, 10))

    def OnMove(self, event):
        pos = event.GetPosition()
        self.posCtrl.SetValue("%s, %s" % (pos.x, pos.y))

if __name__ == '__main__':
    app = wx.PySimpleApp()
    frame = MyFrame()
    frame.Show(True)
    app.MainLoop()

所用编辑器为 pycharm,死活运行不了:

  File "D:/mypython/wx/wx1.py", line 8, in <module>
    class MyFrame(wx.Frame):
AttributeError: 'module' object has no attribute 'Frame'

找了半天实在是郁闷,然后直接打开目录运行 wx1.py 没有任何问题,百撕不得骑姐,终于在一个阳光明媚的上午找到了原因:

原来这里的 import wx导入的是本地python包wx,并未导入wxpython下的wx包:是这样的在创建wx1.py脚本之前,在pycharmproject中右键

随手新建了一个Python Package 名字叫作wx,然后在wx文件夹下创建了wx1.py

这里的wx文件夹是Python 包而非普通的文件夹,虽然都是文件夹,但是在pycharm中运行环境中是区别对待的,因为这个错误险些放弃了wxpython,因为

pycharm真的很好用,如果pycharm 中不能使用wxpython,我是不会放弃pycharm的,我肯定会选择其他的图形库.这种低级错误真的不应该犯!

=======================================================================================================================

2.py2exe: 

error: [Errno 2] No such file or directory: 'MSVCP90.dll'

 前面已经用python写出了一个GUI,在windows下也运行起来了,但是这个程序只能在安装有python和电脑上运行,有没有办法让普通电脑上运行用python写的程序

呢?答案是 有!而且还有多种,这里也是选择较为方便的一种方案py2exe

安装挺顺利 没有网上说的那些问题,开始命令行模式:打包exe,出现上述错误:

error: [Errno 2] No such file or directory: 'MSVCP90.dll',解决方法很简单 到windows目录下找个MSVCP90.dll文件放到C:\Python27\DLLs下重新打包 OK,注意我的系统是64位

的,python是32位,在c盘搜索MSVCP90.dll可能会找到多个文件,选择X86包下面的那个

ps. 成功生成exe文件很兴奋,赶紧把生成的wx1.exe拷贝到其他没有python环境的电脑上运行试验,啪啪的打脸:



这是神马情况呢? 原来单独的exe并不能执行,需要把生成exe那个目录dist一块拷走才能运行

3.Boa constructor不支持中文

Boa constructor是一个可视化 可拖拽的wxpython IDE,尽管界面做的四分五裂,但是功能还算能用,当你用它拖拽出一个GUI后关闭,来到

pycharm编辑器 下写逻辑,写下一句print '点击了按钮',保存再用Boa constructor打开,发现Boa constructor运行不了了:


解决方法:Boa constructor的编辑器中不支持中文,想显示中文要将中文转成Unicode编码

啊啊 这个问题原来是Boa constructor自动生成的的.py文件造成的 ,只需在.py开头加上:

#coding:utf-8即可


这就是学习python开发中遇到的坑,先写这么多,以后遇到了再更新,希望你不要再踏入!


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值