当pandas是imp时,Cx\u freeze TypeError只能使用numpy依赖项将list(而不是“NoneType”)连接到list

2024-07-03 01:38:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试使用cxfreeze将以下脚本转换为可执行文件

import datetime
from calendar import monthrange
from tia.bbg import LocalTerminal as Lt
import pandas as pd
from pypyodbc import connect, DatabaseError

print 'Hello World!'

在命令行中运行以下行时:

^{pr2}$

我得到了以下回溯

Traceback (most recent call last):
    File "C:\Python27\Scripts\cxfreeze", line 5, in <module>
        main()
    File "C:\Python27\lib\site-packages\cx_Freeze\main.py", line 188, in main
        freezer.Freeze()
    File "C:\Python27\lib\site-packages\cx_Freeze\freezer.py", line 621, in Freeze
        self._FreezeExecutable(executable)
    File "C:\Python27\lib\site-packages\cx_Freeze\freezer.py", line 225, in _FreezeExecutable
        exe.copyDependentFiles, scriptModule)
    File "C:\Python27\lib\site-packages\cx_Freeze\freezer.py", line 602, in _WriteModules
        path = os.pathsep.join([origPath] + module.parent.path)
TypeError: can only concatenate list (not "NoneType") to list

意外的是,当我运行此文件时,仍会执行回溯:

C:\Python27\Scripts\test_freeze>test_freeze.exe
Traceback (most recent call last):
  File "C:\Python27\lib\site-packages\cx_Freeze\initscripts\Console.py", line 27, in <module>
    exec(code, m.__dict__)
  File "test_freeze.py", line 3, in <module>
  File "C:\Python27\lib\site-packages\tia\bbg\__init__.py", line 1, in <module>
    from tia.bbg.v3api import *
  File "C:\Python27\lib\site-packages\tia\bbg\v3api.py", line 5, in <module>
    import pandas as pd
  File "C:\Python27\lib\site-packages\pandas\__init__.py", line 18, in <module>
    raise ImportError("Missing required dependencies {0}".format(missing_dependencies))
ImportError: Missing required dependencies ['numpy']

有趣的是:

我成功地运行了一次(使用的不是“hello world”代码),它编译成功,我更改了一个用于数据库的字符串,得到了这个错误。在

当我评论tia.bbg公司导入和熊猫导入错误停止,程序成功冻结。对tia的评论也很重要,因为它是一个围绕大熊猫构建的包装,所以这是有意义的。我可以自信地说,tia并不是问题所在,因为我只是评论说,抛出了与熊猫/纽比有关的相同错误

我使用的是Windows10 64位,Python2.7.12 64位amd,Pandas 0.18.1,其他相关的也是最新版本,因为我刚刚安装了Python和所有模块来避免这个问题。它在以前的安装中运行了多次,但后来得到了相同的错误。在

我的问题是如何让这个脚本正确运行,否则,我可以使用哪些模块来实现相同的目标?在


Tags: infrompyimportlibpackageslinesite
1条回答
网友
1楼 · 发布于 2024-07-03 01:38:50

我有这个问题。您可以显式地排除所有有问题的模块,但通过调试,我认为我找到了负责的代码和一个小的错误修复:)。以下内容应该可以帮助您克服这个问题(并可能导致您找到下一个缺少的依赖项;)

正在检查代码冻结.py,有一个未检查的案例,因此我对进行了以下更改冷冻室.py公司名称:

600号线,从

    try:
        if module.parent is not None:
            path = os.pathsep.join([origPath] + module.parent.path)
            os.environ["PATH"] = path
        self._CopyFile(module.file, target, copyDependentFiles)
    finally:
        os.environ["PATH"] = origPath

收件人:

^{pr2}$

相关问题 更多 >