Pip-Git错误与EzText和Text_Input PyGame模块 && 直接imp.load_source()
Pip-Git错误与EzText和Text_Input PyGame模块 && 直接imp.load_source()
我正在尝试为工作中的一个项目构建一个GUI界面;这个GUI的一个要求是必须提供用户扫描条形码中包含的重要数据的字段。我将每个字段的结果捕获并存储在全局变量中,以便稍后保存到CSV文件中。\n由于PyGame 1.9.3似乎没有内置的文本字段模块,我尝试使用现有的第三方系统,即\"EzText\"和\"Text_Input\"。然而,我在我的电脑上安装这两个系统时遇到了问题(我使用的是64位的Windows 7 SP1操作系统)。\n为了提供背景信息,以下是相关情况的概述:\n在安装了PyVisa(1)、PyGame(2)、Git(3) 32位和cx_Freeze(4)之后,我尝试使用pip分别安装Eztext和Text_Input,因为Ez和TI的GitHub(a(5),b(6))或Pygame(a(7),b(8))页面没有其他的特殊安装说明。我参考了这里(9)、这里(10)和这里(11)的安装指南。\n python -m pip install -e git+https://github.com/ffavela/eztext.git#egg=eztext\n python -m pip install -e git+https://github.com/Nearoo/pygame-text-input#egg=pygame-text-input\n两次尝试的结果几乎相同(根据Github地址和模块名称的不同):\nPip错误1 (12)\nPip错误2 (13)\n之后,我尝试导入 或 文件,其中包含我需要的类函数。为了做到这一点,我按照如何根据完整路径导入模块?中的已检查答案进行操作。\n
import time import sys import visa # 用于GUI中的后续命令。 import os from pygame.locals import * import pygame #import eztext import imp foo = imp.load_source('module.eztext','C:/Python27/src/eztext/eztext.py') foo.Input() pygame.init() #...代码后来的部分;省略了源代码注释和版本历史 # 声明全局变量 global serialnum serialnum = "default" # 初始值 #...跳到创建Pygame对象的部分。 gameDisplay = pygame.display.set_mode(1000,750) #...代码后来的部分;示例了使用中的函数的实例 def PopupOne(): intro = True #...跳过错误处理段落。 global serialnum serialnumField = eztext.Input(maxlength=45,color=(255,0,0),prompt='Serial#:') # 为该字段捕获事件。 events = pygame.event.get() serialnum = serialnumField.update(events) # 绘制和定位字段[显示了对Eztext优先于Text_Input的偏好,因为它具有内置函数] serialnumField.set_pos(150,200) serialnumField.draw(gameDisplay) #...跳到方法的结尾 pygame.display.update() # 的结束部分
\n现在,我在运行中遇到的问题是:\n下面是从IDLE中获得的输出(对 路径进行了轻微的修改以保护隐私):\n
警告(来自警告模块): 文件"C:/Python27/src/eztext/eztext.py",第2行 from pygame.locals import * RuntimeWarning: 在处理绝对导入时找不到父模块'module' 警告(来自警告模块): 文件"C:/Python27/src/eztext/eztext.py",第3行 import pygame, string RuntimeWarning: 在处理绝对导入时找不到父模块'module' Traceback (most recent call last): 文件"Z:\******\Programming\PyGame\pg_sys_master2.py",第22行,infoo.Input() 文件"C:/Python27/src/eztext/eztext.py",第25行,in __init__ ['maxlength', '-1'], ['prompt', '\'\''],['focus','False']) 文件"C:/Python27/src/eztext/eztext.py",第13行,in __init__ else: exec('self.'+key[0]+' = '+key[1]) 文件" ",第1行,in error: 未初始化字体 >>>
\n我的问题是:\nPython 2.7.13是否已经发生了变化,以至于上述链接中提到的方法不再有效?我是否只能将 的内容复制粘贴到我的主文件中?
Pip-Git error with EzText and Text_Input PyGame modules && Direct imp.load_source()
当使用pip安装EzText和Text_Input PyGame模块时,可能会出现问题。原因是EzText模块有一个setup.py文件,但它只是使用cx_Freeze进行编译,而不是安装。而pygame-text-input模块则根本没有setup.py文件。因此,这两个模块都不适合使用pip进行安装。
解决方法是使用git克隆它们,并手动将它们复制到你的site-packages目录中。这样可以绕过pip安装的问题。
具体步骤如下:
1. 打开命令行工具,进入你的项目目录。
2. 使用以下命令克隆EzText模块的git仓库:
git clone
3. 进入EzText目录:
cd EzText
4. 手动将EzText模块复制到site-packages目录中:
cp -r .
其中,
5. 同样的步骤也适用于pygame-text-input模块。
通过以上步骤,你可以成功安装EzText和Text_Input PyGame模块,并绕过pip安装的问题。
这是解决Pip-Git错误与EzText和Text_Input PyGame模块的方法。希望对你有帮助!