mingw环境下python的诸多大坑
mingw吧
全部回复
仅看楼主
level 13
从心里喜欢mingw这个平台,就算是python下的诸多大坑浪费了很多无谓的时间
二楼来说一说我碰到的诸多坑
2018年10月08日 07点10分 1
level 13
我就举例从安装scrapy包开始吧
在网站https://www.lfd.uci.edu/~gohlke/pythonlibs/选ctrl+f搜索依赖包
首先lxml正常安装
然后Twisted包安装
下载的包在官方安装环境中正常,但这个文件名是不能在mingw的python环境中使用的:
Twisted-18.7.0-cp37-cp37m-win_amd64.whl
修改为Twisted-18.7.0-cp37-none-any.whl
安装pip3 install /c/downloads/Twisted-18.7.0-cp37-none-any.whl正常
2018年10月08日 07点10分 2
level 13
最后scrapy包
pip3 install Scrapy-1.5.1-py2.py3-none-any.wh
scrapy startproject xxx建项目时的错误
from cryptography.hazmat.bindings._openssl import ffi, lib
ImportError: DLL load failed: %1 不是有效的 Win32 应用程序。
解决方法,卸载重装以下包:
pip3 uninstall pyopenssl
pip3 uninstall cryptography
pip3 install pyopenssl
pip3 install cryptography
这时候scrapy startproject xxx建项目,可能会报错ssl找不到(和上一步报错不同)
然后重新命令pacman -S mingw-w64-x86_64-python3-pyopenssl(我之前先用这命令装过这包)
这个问题估计是安装的顺序导致的openssl动态库文件被覆盖引起的,我到了这步总算是可以正常的新建项目了
注意以上网站很多包可以改文件名的后半部分为-none-any.whl后安装
2018年10月08日 07点10分 3
level 13
然后写了点代码,运行。我醉了,显示win32api出错。注意不是报错不是找不到库而是出错。通常的原因都知道我就不说了。折腾又开始了...
site-packages\win32\pythonservice.exe这个程序虽然在安装pypiwin32或pywin32的时候都不报错。但是这个程序依赖的动态库是python37.dll(vc版的库啊!)
把VC版的python37.dll库提取出来,然后又提取了VC版的pywin32_system32的目录下两个DLL依赖。嗯,当然是要出错的[黑线].不过验证成功了自己的猜想,用官方绿色包成功运行了这个文件内的pythonservice.exe,当然也成功运行了之前写的scrapy代码
2018年10月08日 07点10分 4
level 13
在花了一个多小时重新安装了官方包并重建环境后,嗯,以上所有问题都没有了。
不用再找任何网站,所有流行库直接用pip装上。pyinstaller要手动指定依赖的问题也好了~
嗯,两套python3换着用。mingw环境下的python最好一点大概就是对多编码方式的支持,在官方包环境下碰到了一些原来没有过的编码方面的问题,虽然也只是小问题
2018年10月08日 08点10分 5
level 8
直接用的Anaconda环境懒得麻烦【其实是小白不会配置T^T】。也就课余玩玩pygame之类的[暗中观察]
2018年10月09日 12点10分 6
pygame在我书上最后一章。我正停在倒数第二章gui估计要很久[暗中观察]
2018年10月09日 12点10分
官方包已经很傻瓜了,装什么都是pip很方便。
2018年10月09日 12点10分
@千城真人✨ 楼主的书莫不是《python 从入门到实践》?
2018年10月09日 12点10分
@千城真人✨ 之前要用qtconsole,但是pyqt一直折腾没装上,就直接用了Anaconda。
2018年10月09日 12点10分
1