Pip-Git错误与EzText和Text_Input PyGame模块 && 直接imp.load_source()

4 浏览
0 Comments

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行,in 
foo.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是否已经发生了变化,以至于上述链接中提到的方法不再有效?我是否只能将 的内容复制粘贴到我的主文件中?

0
0 Comments

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 . 
   

其中,是你Python安装的site-packages目录的路径。例如,在Windows上,它可能是"C:\Python\Python版本号\Lib\site-packages"。

5. 同样的步骤也适用于pygame-text-input模块。

通过以上步骤,你可以成功安装EzText和Text_Input PyGame模块,并绕过pip安装的问题。

这是解决Pip-Git错误与EzText和Text_Input PyGame模块的方法。希望对你有帮助!

0