python的tkinter模块的导入_numpy scipy

python的tkinter模块的导入_numpy scipy在python项目使用cxfreeze进行打包的时候,如果脚本里包括numpy的引用时,在打包时会报importError:cannotimportname’_methods’from’numpy.core’的错误,这时,在打包的setup.py文件中加入整个包numpy的引用即可packages=[“numpy”]options={“build_exe…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

   在python项目使用cxfreeze进行打包的时候,如果 脚本里包括numpy的引用时,在打包时会报

importError: cannot  import name ‘_methods’ from ‘numpy.core’ 的错误,这时,在打包的setup.py文件中加入整个包numpy的引用即可

packages = ["numpy"]
options = {"build_exe": {"includes": includes, "include_files": include_files, "packages"

这时,发布完成的exe文件会发生闪退事件,进不去程序,这时因为用cxfreeze把numpy库编译成pyc文件时会少编译几个文件,导致闪退。这时可以通过创建一个python文件查看闪退的原因,缺少哪个文件:

import os

result=os.popen(r”C:\ProgramData\Anaconda3\Scripts\build\exe.win-amd64-3.7\etMain.exe”)  #自己打包成功之后exe的绝对路径

print(result.read())  

python的tkinter模块的导入_numpy scipy

这时就能看见自己缺少的文件,一般缺少的都是dll文件,这时在自己安装Python的路径下,进入\Library\bin中,或者进入\Dlls文件找到自己缺少的dll文件,加入到自己的生成exe的同级路径下,就可以运行了

python的tkinter模块的导入_numpy scipy

 

python的tkinter模块的导入_numpy scipy

如果想要在cxfreeze打包时直接自动加入到发布包中,可以将缺少的dll文件加入到setup.py中

#!/usr/bin/python

#coding=utf-8

import sys
import traceback
import os
from cx_Freeze import setup, Executable

import msilib

os.environ[‘TCL_LIBRARY’] = ‘C:\\ProgramData\\Anaconda3\\tcl\\tcl8’
os.environ[‘TK_LIBRARY’] = ‘C:\\ProgramData\\Anaconda3\\tcl\\tk8.6’

# Dependencies are automatically detected, but it might need fine tuning.

#中文需要显式用gbk方式编码

product_name = r’ExcleMain’

unproduct_name = ‘UninstallExcleMain’

product_desc = “ExcleMain Ver1.0”

#uuid叫通用唯一识别码,后面再卸载快捷方式中要用到

#主程序手动命名

target_name= ‘etMain.exe’

build_exe_options = {

    
    “include_files”:[‘C:\\ProgramData\\Anaconda3\\DLLs\\tcl86t.dll’, ‘C:\\ProgramData\\Anaconda3\\DLLs\\tk86t.dll’,’C:\\ProgramData\\Anaconda3\\mkl_intel_thread.dll’],    
    #包含外围的ini、jpg文件,以及data目录下所有文件,以上所有的文件路径都是相对于cxsetup.py的路径。

    “packages”: [‘numpy’],                #包含用到的包

    “includes”: [], 

    “excludes”: [],               

};

setup(  name = “excelMap”,
        author=’auto Excel Map app’,
        version = “1.0”,
        description = product_desc,
        options = {“build_exe”: build_exe_options},
        executables = [Executable(“C:\\PyCharm\\pdf-docx\\ExcelTranslator\\ShowDIalog.py”,
                                  targetName= target_name,icon = “C:\\ProgramData\\Anaconda3\\Scripts\\spyder.ico”,                              
                                  base=base)
                       ])

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/179092.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 数据库连接池的理解和使用方法_为什么要使用数据库连接池

    数据库连接池的理解和使用方法_为什么要使用数据库连接池一、什么是数据库连接池?官方:数据库连接池(Connectionpooling)是程序启动时建立足够的数据库连接,并将这些连接组成一个连接池,由程序动态地对池中的连接进行申请,使用,释放。个人理解:创建数据库连接是一个很耗时的操作,也容易对数据库造成安全隐患。所以,在程序初始化的时候,集中创建多个数据库连接,并把他们集中管理,供程序使用,可以保证较快的数据库读写速度,还更加安全可靠。二…

  • 用settimeout如何实现倒计时_javascript一分钟倒计时代码

    用settimeout如何实现倒计时_javascript一分钟倒计时代码<!–8秒倒计时–><p><spanid=”time”></span>秒后自动跳转到老版本</p><!–js部分–>functioncountDown(secs,url){//secs–设置倒计时秒数,url–要跳转的链接 vartime=document.getElementById(“time”) time.innerHTML=secs//页面上显示所设定的倒计时时长 if

  • Hmily实现TCC事务控制

    Hmily实现TCC事务控制目标通过本案例的学习,掌握Hmily实现TCC事务控制的方法,掌握TCC事务控制的思想。Hmily介绍Hmily是一个高性能分布式事务TCC开源框架。基于Java语言来开发(JDK1.8),支持Dubbo,SpringCloud等RPC框架进行分布式事务。它目前支持以下特性:支持嵌套事务(Nestedtransactionsupport).采用disruptor框架进行事务日志的…

  • Anaconda如何安装basemap_安装anaconda安装方法

    Anaconda如何安装basemap_安装anaconda安装方法Anaconda下PyTorch的安装分为在线安装和在线安装。在线安装:这里默认Anaconda已经是安装好了,打开Anaconda的Prompt。不过在安装之前需要说明的是,在线安装对网络的要求比较严格,一定要使用有线网,提高安装过程的稳定性,不要使用无线网,可能会出各种各样的问题。1.设置虚拟环境。之所以要设置虚拟环境,是因为这个python里面的包有很多个,有些个包可以会存…

  • FPGA设计中遇到的奇葩问题之“芯片也要看出身”(三)

    FPGA设计中遇到的奇葩问题之“芯片也要看出身”(三)

  • 如何计算经纬度之间的距离_根据经纬度算距离

    如何计算经纬度之间的距离_根据经纬度算距离用php计算两个指定的经纬度地点之间的距离,代码:/***求两个已知经纬度之间的距离,单位为米*@paramlng1,lng2经度*@paramlat1,lat2纬度*@returnfloat距离,单位米*@editwww.jbxue.com**/functiongetdistance($lng1,$lat1,$lng2,$lat2){//将角度转为狐度$radLat1=deg2r…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号