Python 执行.exe时导入错误(缺少依赖项[';numpy';])

Python 执行.exe时导入错误(缺少依赖项[';numpy';]),python,pandas,numpy,pyinstaller,Python,Pandas,Numpy,Pyinstaller,我制作了一个小Python程序,以便使用Pandas、gzip和shutil库从几个压缩的gzip文件中提取数据(.csv文件)。一旦它们被提取出来,.csv文件就加入到一个大的.csv唯一文件中 我的程序支持Python版本2.7和3.7 当构建一个.exe来简化这个小程序的使用,并且与没有安装Python的计算机兼容时,我犯了错误,因为它不工作 这是我从PyInstaller执行.exe的主文件夹: 注意:“00000(0)”文件是没有扩展名的.gzip文件,其中只有一个.csv文件,也没

我制作了一个小Python程序,以便使用Pandas、gzip和shutil库从几个压缩的gzip文件中提取数据(.csv文件)。一旦它们被提取出来,.csv文件就加入到一个大的.csv唯一文件中

我的程序支持Python版本2.73.7

当构建一个.exe来简化这个小程序的使用,并且与没有安装Python的计算机兼容时,我犯了错误,因为它不工作

这是我从PyInstaller执行.exe的主文件夹:

注意:“00000(0)”文件是没有扩展名的.gzip文件,其中只有一个.csv文件,也没有扩展名

你有办法解决这个问题吗

这是我在实际执行时从终端获得的信息:

用于创建.exe的终端命令:

pyinstaller.exe--clean--onefile Convierte_Rar_En_Csv_Final.py--name Transforma2--hidden import numpy

版本:

  • Python:2.7.15
  • pyinstaller:3.4(为了安装这个库,我刚从下载了文件夹,然后将其移动到
    C:\YourPythonEnviroment\Lib\site packages\pyinstaller-3.4
    ,最后在进入文件夹pyinstaller-3.4
    python setup.py install
    后从终端进行安装)
  • 熊猫:0.24.0
  • numpy:1.16.0
  • pytz:2018.9
  • wxPython 4.0.4
  • 设置工具:40.8.0
  • python dateutil:2.8.0
我的程序代码:

def DescomprimeYUne(path):
    import pandas as pd
    import gzip , shutil
    import numpy

    results = pd.DataFrame([])

    for filename in os.listdir(path):
        pathFile = path + filename
        if filename != __file__.split("/")[-1] and not os.path.isdir(pathFile):
            # # Descomprimo fichero
            with gzip.open(pathFile, 'rb') as f_in:
                with open(pathFile + '.csv', 'wb') as f_out:
                    shutil.copyfileobj(f_in, f_out)

            # Borro fichero original
            os.remove(pathFile)

            # Concateno a CSV final
            namedf = pd.read_csv(pathFile + ".csv", skiprows=0)
            results = results.append(namedf)

           # Borro fichero csv
           os.remove(pathFile + '.csv')

    results.to_csv(path + "final.csv")
if __name__ == "__main__":
DescomprimeYUne("./")

我也跟着做了,但它对我不起作用。

不久前,我也将我的python应用程序作为可执行文件分发。在运行时,我还遇到了几个导入错误或缺少文件错误,但是根据我的经验,模块cx_freeze似乎非常擅长纠正这些错误

Cx_freeze适用于python运行的任何操作系统,并支持2.7+或3+。 我强烈推荐观看本教程,它对我帮助很大。

以下是设置脚本的示例:

import cx_Freeze 
from cx_Freeze import *
import sys 
import os


base = None

if sys.platform =='win32':
    base = "Win32GUI"

executables = [cx_Freeze.Executable("DescomprimeYUne.py", base=base)]

# Stating what modules and files our app needs so they can be included in the build
cx_Freeze.setup(
    name = "DescomprimeYUne", # Name of exe
    options = {"build_exe":{"packages":["numpy", "pandas", "gzip", "shutil"], # Include packages used here
                          "include_files":["filename"]}}, # optional you can include any files your script needs here
    version = "0.01",
    description="DescomprimeYUne",
    executables = executables
    )