python - 如何在 Python 中识别哪个对象是 Nonetype 以及哪个对象是 str 以及如何修复连接错误?

标签 python string installation string-concatenation nonetype

当我尝试将 pygames 安装到我考虑的 canopy 中时,我运行了 setup.py 文件,它总是给出“TypeError: cannot concatenate 'str' and 'Nonetype' objects”

TypeError                                 Traceback (most recent call last)
C:\Users\Allie\Canopy\pygame-master\setup.py in <module>()
    145 # get compile info for all extensions
    146 try:
--> 147     extensions = read_setup_file('Setup')
    148 except:
    149     print ("""Error with the "Setup" file,

C:\Users\Allie\AppData\Local\Enthought\Canopy32\App\appdata\canopy-1.5.2.2785.win-x86\lib\distutils\extension.pyc in read_setup_file(filename)
    166 
    167             #print "original line: " + line
--> 168             line = expand_makefile_vars(line, vars)
    169             words = split_quoted(line)
    170             #print "expanded line: " + line

C:\Users\Allie\AppData\Local\Enthought\Canopy32\App\appdata\canopy-1.5.2.2785.win-x86\lib\distutils\sysconfig.pyc in expand_makefile_vars(s, vars)
    407         if m:
    408             (beg, end) = m.span()
--> 409             s = s[0:beg] + vars.get(m.group(1)) + s[end:]
    410         else:
    411             break

TypeError: cannot concatenate 'str' and 'NoneType' objects

任何人都可以帮助我修复这些行以使我的安装文件运行吗?否则我不知道如何将 pygames 安装到 canopy 中。

最佳答案

代码试图在您的 Makefile 中扩展变量,但找不到特定变量。

代码首先解析出所有 VARNAME = value 条目,然后在第二步中尝试将值插入到 $(VARNAME)${VARNAME } 引用。这是第二步失败,因为 undefined variable 名,或者至少在第一步中未找到

pygame 构建系统从名为 Setup.in 的文件中创建了一个名为 Setup 的 makefile,而生成的文件失败了这里。其中 Setup.in 有一个标记为 #--StartConfig/#--EndConfig 的部分应该写入变量。您必须调查缺少哪些行以及原因。

您可以重新运行config.py 脚本来重新生成文件;它将工作委托(delegate)给特定于平台的模块。

关于python - 如何在 Python 中识别哪个对象是 Nonetype 以及哪个对象是 str 以及如何修复连接错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30379206/

相关文章:

python - 如何将 sys.stdout 复制到日志文件?

java - 通过在单词中保留 "-"而在 Java 的其他地方消除它来拆分字符串

ios - iOS 4.0 - 4.1 设备调试支持安装目录在哪里?

wix - 如何在 WIX 中使用 msi/Setup.exe 包含先决条件

python3 fork 生成器

python - Matplotlib:如何让 imshow 从其他 numpy 数组读取 x、y 坐标?

OS.walk 的 C++ 替代方案

c++ - 关注一个字符串转换函数

c++ - 为什么不能将一个字符串的索引位置分配给另一个字符串,但可以将其分配给中间字符?

c# - 如何使用 .NET 安装和设置数据库?