首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PyInstaller打包python程序为exe可执行文件

教程千千万,貌似的window电脑就是打包不了,而且不同电脑的表现都不一致,很是奇怪。...各种路径错误导致的问题 很多人在拼接路径的时候喜欢使用+拼接路径字符串,这会导致在打包后出现各种资源无法访问的错误,且不好排查,建议多使用os.path的各种方法来处理路径。...打开*.spec文件在文件头添加两行代码: import sys sys.setrecursionlimit(2000) 之后通过以下方式继续打包: pyinstaller -D *.spec 5.6 模块找不到的问题解决办法...参考:使用pyinstaller将python程序打包成exe执行文件时遇到模块找不到的问题 解决办法是:打包时加入你自编模块(或第三方模块所在文件夹路径),笔者程序中调用了shiyanshi自编模块...因此打包时需要添加路径进行打包。 使用pyinstaller ***.py -F -p D:\Pycharm\Program 命令在主程序所在文件目录下进行打包,即可解决模块找不到的问题。

1K20

Medium高赞系列,如何正确的在Stack Overflow提问

小编比较自豪的一件事情就是:当初学习dubbo期间,因为一个数据关闭错误一直找不到正确的解决方式,就顺手把自己解决问题的步骤写下,并附上参考资料中的方法,算是把那类问题做了一个增强版的总结,没想过几个月后...,有位粉丝专门找上来感谢,帮他解决了疑惑。...现在是移动互联网的时代,倘若我们能链接到更多的人,倘若我们连接的不仅仅有国内,还有国外,那岂不是更好?那么如何在国外得到自己想要的答案?...我们不妨去Stack Overflow这个平台去试试,优秀的问答平台,你们懂的。 但是提问也是一门艺术,所以赶紧来看看他们的总结,助你更好地在平台上提问。...如果您犯了一个错误或提出了一个愚蠢的问题,人们不会理财你,这就是该平台自成立以来一直保持其标准的方式。因此,别指望有什么收获。 相反,我们需要习惯它并改变提问的方式。

96920
您找到你想要的搜索结果了吗?
是的
没有找到

Python 进阶指南(编程轻松进阶):一、处理错误和寻求帮助

通常,这些插件使用名为 Pyflakes 的 linter 模块或其他模块进行分析。...假设你在一个在线论坛上询问你的问题,但是这些指导方针也同样适用于你通过电子邮件向一个人请教问题。 通过预先提供信息限制回复 如果你亲自接近某人,问“能问你一个问题?”...但是,处于需要和请求帮助的位置,却发现你的问题很快就被解决了,这可能是一种伤害和尴尬。的建议是首先仔细阅读本章的建议和 Stack Overflow 的“如何问一个好问题?”...---- 用适当的格式使你的代码可读 共享您的代码的目的是让您的助手可以运行您的程序并重现您得到错误。他们不仅需要代码,还需要正确的格式。确保他们可以很容易地复制你的源代码并照原样运行。...如果你在网上找不到解决问题的方法,试着把你的问题发布到网上论坛或者发邮件给某人。为了提高这个过程的效率,本章提供了询问一个好的编程问题的指南。

93730

配置 legacyUnhandledExceptionPolicy 防止后台线程抛出的异常让程序崩溃退出

如果补救成功,可以设置 e.Handled = true 阻止异常继续让程序崩溃退出。但是,如果是后台线程抛出了异常呢?并没有 Dispatcher 可以用。所以我们就束手就擒让程序自己退出?...于是允许开发者设置 e.Handled = true 标记异常已被正确处理,程序可以不用退出了。...比如 WPF 的触摸模块发生了异常,开发者知道如何恢复?并不知道,还不如结束掉程序然后重启呢!...的哪个地方,再用一段代码标注一下,大概在这里: 1 2 3 4 5 6 7 8 9 <?...既然你通过这个配置节点于微软达成了契约,你就需要好好地在 AppDomain.CurrentDomain.UnhandledException 事件中写好异常的恢复逻辑。

31920

橡皮鸭解题法

告诉我们你为什么想得到这个答案,你是如何想到找我们解决问题的。你的提问只是出于好奇心,还是你卡在了某个项目上?我们并不需要你全部的人生故事,给我们一些关于该问题基本的外围信息就好。...: 有一个问题 决定把它放到stackoverflow上面 粗略地将问题写下来 知道该问题描述的不好 又花费了15分钟时间重新思考该如何描述问题 意识到自己正在一个完全错误的方向上解决问题...转头看向鲍勃。鲍勃在点头。“你知道答案了,是这样?”他说。 “你把全螺纹长杆放到管子的上面”,说。 “完全正确”,鲍勃说。“下次你再有问题,还让你这儿继续问鸭子,而不是问我。大声地问它。...是的,即使你最终抛出这个问题,因为你最终意识到你犯了一些愚蠢的错误。向虚构的人问问题,要一步一步,并且尽量详细,这样的尝试经常能让你找到问题的答案。...如果你不愿意花费精力去完全说明问题以及你如何解决这个问题,那么在你问其他人之前,你就不能得到深度思考你的问题所带来的好处。

37430

当无边框窗口被子窗口遮挡导致难以调节窗口大小时,可通过处理 NCHITTEST 消息重新支持调节窗口大小

在子窗口处理消息循环 在的另一篇博客中,有提到通过处理 WM_NCHITTEST 消息,返回 HT_RIGHT 等实现支持 Windows 原生窗口功能的效果。...于是,我们需要在消息循环的处理中返回 HTTRANSPARENT 告诉操作系统这个区域子窗口不处理消息,请交给父窗口。 这里,以 WPF 的消息循环来写代码。...如果需要使用这段代码的话,你需要自己判断窗口的边缘。...如果需要得到当前坐标的话,可以把下面的方法加入到你的项目中: 1 2 3 4 5 6 public static (int lowOrder, int highOrder) GetOrderWord(IntPtr...,以避免陈旧错误知识的误导,同时有更好的阅读体验。

31320

为什么 asyncawait 不仅仅是句法糖

有了 Promise 这个强大的伙伴,听起来异步编程在 JS 中是一个已经解决的问题,对? 恩,还没有,因为有时候 Promise 的级别太低了,不太适合使用。...有时 Promise 的级别太低,不适合使用 尽管出现了 Promise,但在 JS 中仍然需要一个更高级别的语言结构进行异步编程。...这可能是 async/await 的最大卖点--使我们能够以同步的方式编写异步代码。另一方面,这可能是对 async/await 最常见的反对意见的来源,稍后再谈这个问题。...]' async/await 提供更好的错误堆栈跟踪 V8工程师Mathias写了一篇名为Asynchronous stack traces: why await beats Promise#then(...为了达到这个目的,需要一个复杂的类型系统,其中包括Result等类型。但我不认为async/await本身与FP不相容。

84320

跨越时空的对白——async&await分析

...await...异步解决方案支持同步的方式去执行异步操作 async...await...异步解决方案支持通过try...catch...进行异常捕获 对于第一点说还好理解,但第2种说法就很费解了...那这个问题是怎么的呢? 从网上扒了个动图,可以比较形象的解释这个问题。图中演示了foo,bar,tmp,baz四个函数的执行过程。同步函数的执行在调用栈中转瞬即逝,异步处理需要借助libuv。...这完全不像Generator函数,需要调用next方法,或者用co模块,才能真正执行,得到最后结果。 Generator函数的执行必须靠执行器,所以才有了co模块,而async函数自带执行器。...而且,如果上面的usage.js又有对外的输出,等于这个依赖链的所有模块都要使用Promise加载。 顶层的await命令,就是为了解决这个问题。它保证只有异步操作完成,模块才会输出值。...所以,它总是会得到正确的output,不会因为加载时机的不同,而得到不一样的值。 小结 协程的引入具备了挂起自己和被重新唤醒的能力。可以想象一下,协程在被中断吼,是需要某种机制保存当前执行的上下文。

1.1K21

排查守候在零点两分的 bug

直到某一天又收到了同样的告警,回想了下最近好几天都有这个告警。 抬头一看: 心里一惊:别搞出事故啊!就开始了的排查之路。...不过这个可能性比较低,于是转而去服务器复现这个 bug,编写如下代码并执行: const { setRedisKey } = require('....}).catch(console.error) 大家发现了吧,then 中的 Promise 没有返回,那么返回了就一定会被捕获?...因为需要手动调用 reject 才可抛错,这就需要层层将 resolve 和 reject 传入可能报错的 Promise 才行,珍爱生命远离 Promise,大家还是尽量用 async/await 语法...解决方式 原因既然依旧找到,解决方式也就出来了: 向下取整 Math.floor 改为向上取整 Math.ceil(不过极端情况下还是存在当天剩余毫秒数恰好为 0 的情况) 判断 expireTime

65720

Node.js 知名框架 Express Koa 都在使用的 Events 模块你了解

EventEmitter 实现,都有一个共同点使用了 util.inherits(constructor, superConstructor) 方法,这个是 Node.js 中的工具类,这让想起来了之前在看...对于需要查询 DB 的数据,我们一般称之为热点数据,这类数据通常是要在 DB 之上增加一层缓存,但是在高并发场景下,如果这个缓存正好失效,此时就会有大量的请求直接涌入数据库,对数据库造成一定的压力,对于缓存雪崩的解决方案...,网上也不乏有更好的解决方案,但是在 Node.js 中我们可以利用 events 模块提供的 once() 方法解决。...最后一个最重要的错误处理,在 Node.js 中错误处理是一个需要重视的事情,一旦抛出一个错误没有人为处理,可能造成的结果是进程自动退出,如下代码因为事件触发器带有错误信息,而没有相应的错误监听在,会导致进程退出... ... test 如上代码所示,第一次调用后错误 error 事件会被监听,Node 进程也不会像之前的程序一样会自动退出,console.log('test'); 也得到了正常运行

1.9K41

重新编译运行C++Cuda混编项目

-6QC:sudo apt-get install clang Error2: 依赖的头文件找不到 分析下Cmake文件,这里主要有三个模块需要引入到源文件中,分别是:ANN、TRIANGLE、CUBU...解决方法:重新安装。 要注意查看项目的源代码,是直接调用的,还是依赖编译环境的。前者需要模块构建完成后放到项目中,而后者只需要在系统中安装相应模块,程序运行时会调用系统的库。...:这里出现了安装 libglui-dev失败的提示,搜索后发现是Ubuntu不提供这个模块了,所以只能去github下载源代码手动构建。...然后修改Malefile的对应的模块路径。 ? 穿插GLUT教程 教程在,这里,按照教程,成功的运行了所给的demo,这表明的Glut模块是安装正常的。 ?...问题的详细 纠错指导 解决方法:这里需要修改Makefile中的arch参数,看自己的Cuda参数而定,这里使用compute_50即正常。

1.5K20

解决windows上安装tensorflow时报错,“DLL load failed: 找不到指定的模块”的问题

事实上,第一次安装的时候出现了如下错误: Traceback (most recent call last): File “D:\Python\Python35\lib\site-packages..._bootstrap”, line 222, in _call_with_frames_removed ImportError: DLL load failed: 找不到指定的模块。..._bootstrap”, line 222, in _call_with_frames_removed ImportError: DLL load failed: 找不到指定的模块。...后来看到有人说装了visual studio2017解决这个错误想不至于吧,装个tensorflow还要装个visual studio2017?...id=53587 装好后tensorflow就可以正常使用了~ 总结 到此这篇关于解决windows上安装tensorflow时报错,“DLL load failed: 找不到指定的模块”的问题的文章就介绍到这了

3.2K30

多维度分析 Express、Koa 之间的区别

,底层原生支持,Async/Await 现在也称为 JS 异步的终极解决方案。...对应到 Koa 这个框架也是你只能通过 await next() 控制是否像下流转,或者抛出一个错误,无法提前终止。...显然这样不是很合理,我们需要一个更通用的方法组合我们这些函数,通过上面例子,可以看出是由规律性的,可以通过递归遍历来实现,实现如下: 行 {1} {2} 为边界处理,首先 middlewares 是一个数组...在 Koa 的中间件机制中使用 Async/Await(背后全是 Promise)以同步的方式管理异步代码,它则可以等待异步操作。...中间件挂载 初始化时主要通过 proto.use 方法将中间件挂载到自身的 stack 数组中 // https://github.com/expressjs/express/blob/4.x/lib/

1.5K20

【译】开始在web使用JS Modules

-- module.mjs executes only once. --> 模块脚本跨域需要加跨域头 模块脚本及其依赖是通过CORS获取的,也就是说模块脚本一旦跨域就需要加上适当的返回头,比如Access-Control-Allow-Origin...而众所周知,传统脚本则不需要(译者注:还记得传说中的JSONP)。 async属性对内联脚本有效 var test = 1; <!...但有时候按需加载或异步加载会更为合理,这有助于提高首次加载时间,而import()可以用来解决这个问题。...如果通过告知服务器完整的用户缓存状态解决这个问题的话,又存在隐私泄露风险。 无论如何,采用HTTP/2协议吧!只要记住目前HTTP/2的服务器推送还不能作为一个好的解决方案。...有了这个机制,原生模块能够提升开发调试的体验。当你在Chrome开发者工具查看资源时,浏览器会精准定位到原生的模块代码中,而不需要复杂的source-map。

1.9K90

Android 平台 Native 代码的崩溃捕获机制及实现

(系统会在危险情况下把栈指针指向这个地方,使得可以在一个新的栈上运行信号处理函数) stack_t stack; memset(&stack, 0, sizeof(stack)); /* Reserver...,下面我们一一分析。...Linux通过对栈、内存映射段、堆的起始地址加上随机偏移量打乱布局,以免恶意程序通过计算访问栈、库函数等地址。 栈(stack),作为进程的临时数据区,增长方向是从高地址到低地址。...七、获取堆栈 1.原理 在前一步,我们获取了奔溃时的pc值和各个寄存器的内容,通过SP和FP所限定的stack frame,就可以得到母函数的SP和FP,从而得到母函数的stack frame(PC,LR...九、获得java堆栈 如何获得native crash所对应的java层堆栈,这个问题曾经困扰了一段时间。

5.4K116

ImportError: DLL load failed: 找不到指定的模块

\imp.py", line 343, in load_dynamic return _load(spec) ImportError: DLL load failed: 找不到指定的模块。...\imp.py", line 343, in load_dynamic return _load(spec) ImportError: DLL load failed: 找不到指定的模块。...中环境配置的原因,win10中,不仅要添加环境变量path的值,还需要在PATHEXT中添加.DLL否则系统就无法加载指定的模块,即使你的文件中有.dll文件。...---- 遇到这个问题是安装hanlp,安装hanlp的时候是自动安装的2.0.0a10这个版本的,而2.0.0a10这个版本requirement tensorflow==2.1.0rc2,但实际不用去对应...,就是版本对应了才报错的,最后安装的tensorflow==2.0.0,问题解决了 ERROR: hanlp 2.0.0a10 has requirement tensorflow==2.1.0rc2

14.4K20

C ++ 中不容忽视的 25 个 API 错误设计!

如何解决这个问题? 1.尽量避免在头文件中放置任何使用的命名空间声明。如果你需要一些名称空间对象编头文件,请在头文件中使用完全限定名称(例如std :: cout,std :: string)。...客户端可以用一些你以前没有测试过的任意类型实例化你的模板,并且会遇到奇怪的失败。 如何解决这个问题?...C ++编译器因误导错误消息而臭名昭著,并且可能不容易在此时找到错误。 如何解决这个问题?...如何以及在何处使用此代码,这对产生了极大的影响。例如如果这是一个同步调用,永远不会在像游戏场景渲染循环这样的时间关键代码路径中使用它。 如何解决这个问题?...好吧,这些就是注意到的C ++ API的Top25的错误。这份清单并不全面,所以你一定要拿一本Martin Reddy的书深入了解这个主题。 祝API Review快乐!!!

1.5K20

一次小折腾:PyCharm 调用 Cygwin Python 找不到 time、sys 等内置模块

代码的轻量级HTTPServer实现文件上传下载》测试,这份的代码的特点是在 windows 下会报错,linux 正常,因为使用了 linux 下特有的模块:fcntl 然而我们却在 IDE 里看到语法报错了...3、如何解决这个问题 由于想到 sys 和 time 都属于内置模块,可能和 python.exe 这个可执行文件有关,于是先 copy 了一个 windows 版的 python.exe 过去试试...但是上面的疑问还是没解决:为什么 time 和 sys 模块找不到居然还能执行成功呢? 第一反应就是找找看 time 在哪里。...__file__ 会抛异常,但这又是正常的,因为内置模块存在只是没有提供这个属性而已。...,而导致“看起来找不到内置模块”,因此才会出现了 IDE 静态分析提示错误,但是能执行成功的现象。

4K100
领券