首页
关于
友链
Search
1
ESXI 一些功能调整
443 阅读
2
SoftEther 客户端篇
423 阅读
3
天翼云网关3.0/4.0超管密码
414 阅读
4
SoftEther 服务端篇
308 阅读
5
远程桌面rustdesk使用说明
255 阅读
默认分类
代码相关
vue
html
python
系统
数据库
docker
安卓
软件分享
杂七杂八的工具
游戏分享
游戏相关
我的家庭影院
Ai
登录
Search
标签搜索
python
esxi
git
SoftEther
linux
apscheduler
在线
rclone
Ubuntu
list
列表
idm
激活码
Charles
pdf
免安装
鲁大师
图片查看器
蜂蜜浏览器
honeyview
哥特式
累计撰写
98
篇文章
累计收到
16
条评论
首页
栏目
默认分类
代码相关
vue
html
python
系统
数据库
docker
安卓
软件分享
杂七杂八的工具
游戏分享
游戏相关
我的家庭影院
Ai
页面
关于
友链
搜索到
29
篇与
的结果
2023-10-13
uwsgi启动flask
1. 安装uWSGIpip install uwsgi2. 配置启动文件创建一个uwsgi.ini文件,写入下面的内容[uwsgi] master = true # 处理器数 processes = 1 # 线程数 threads = 2 master = true # 指向项目目录 chdir = /www/wwwroot/wxbot #这里是flask启动程序文件,此处切忌填错py文件的名称 wsgi-file= /www/wwwroot/wxbot/main.py # 外部访问地址,可以指定多种协议,此处使用http。 http = 0.0.0.0:9001 logto = /www/wwwroot/wxbot/logs/error.log chmod-socket = 660 # flask在main.py文件中的app名 callable = app # 前面的app是flask的启动文件名,后面的app是文件里面的Flask对象 module = app:app vacuum = true uid=root gid=root max-requests = 1000 # 虚拟环境 virtualenv = /www/wwwroot/wxbot/266c58d8eb9a31541c9e5864d818adc1_venv # 指定运行的参数 pyargv = --ocr --det #uwsgi错误invalid request block size,默认是4096 buffer-size = 65536 3. 启动uwsgi --ini /home/uconfig.ini
2023年10月13日
108 阅读
0 评论
0 点赞
2023-06-08
pycrypto安装报错
pip安装的时候报错,提示有个语法错误{collapse}{collapse-item label="报错信息" open}error: subprocess-exited-with-error × python setup.py bdist_wheel did not run successfully. │ exit code: 1 ╰─> [179 lines of output] running bdist_wheel running build running build_py creating build creating build\lib.win-amd64-cpython-37 creating build\lib.win-amd64-cpython-37\Crypto copying lib\Crypto\pct_warnings.py -> build\lib.win-amd64-cpython-37\Crypto copying lib\Crypto\__init__.py -> build\lib.win-amd64-cpython-37\Crypto creating build\lib.win-amd64-cpython-37\Crypto\Hash copying lib\Crypto\Hash\hashalgo.py -> build\lib.win-amd64-cpython-37\Crypto\Hash copying lib\Crypto\Hash\HMAC.py -> build\lib.win-amd64-cpython-37\Crypto\Hash copying lib\Crypto\Hash\MD2.py -> build\lib.win-amd64-cpython-37\Crypto\Hash copying lib\Crypto\Hash\MD4.py -> build\lib.win-amd64-cpython-37\Crypto\Hash copying lib\Crypto\Hash\MD5.py -> build\lib.win-amd64-cpython-37\Crypto\Hash copying lib\Crypto\Hash\RIPEMD.py -> build\lib.win-amd64-cpython-37\Crypto\Hash copying lib\Crypto\Hash\SHA.py -> build\lib.win-amd64-cpython-37\Crypto\Hash copying lib\Crypto\Hash\SHA224.py -> build\lib.win-amd64-cpython-37\Crypto\Hash copying lib\Crypto\Hash\SHA256.py -> build\lib.win-amd64-cpython-37\Crypto\Hash copying lib\Crypto\Hash\SHA384.py -> build\lib.win-amd64-cpython-37\Crypto\Hash copying lib\Crypto\Hash\SHA512.py -> build\lib.win-amd64-cpython-37\Crypto\Hash copying lib\Crypto\Hash\__init__.py -> build\lib.win-amd64-cpython-37\Crypto\Hash creating build\lib.win-amd64-cpython-37\Crypto\Cipher copying lib\Crypto\Cipher\AES.py -> build\lib.win-amd64-cpython-37\Crypto\Cipher copying lib\Crypto\Cipher\ARC2.py -> build\lib.win-amd64-cpython-37\Crypto\Cipher copying lib\Crypto\Cipher\ARC4.py -> build\lib.win-amd64-cpython-37\Crypto\Cipher copying lib\Crypto\Cipher\blockalgo.py -> build\lib.win-amd64-cpython-37\Crypto\Cipher copying lib\Crypto\Cipher\Blowfish.py -> build\lib.win-amd64-cpython-37\Crypto\Cipher copying lib\Crypto\Cipher\CAST.py -> build\lib.win-amd64-cpython-37\Crypto\Cipher copying lib\Crypto\Cipher\DES.py -> build\lib.win-amd64-cpython-37\Crypto\Cipher copying lib\Crypto\Cipher\DES3.py -> build\lib.win-amd64-cpython-37\Crypto\Cipher copying lib\Crypto\Cipher\PKCS1_OAEP.py -> build\lib.win-amd64-cpython-37\Crypto\Cipher copying lib\Crypto\Cipher\PKCS1_v1_5.py -> build\lib.win-amd64-cpython-37\Crypto\Cipher copying lib\Crypto\Cipher\XOR.py -> build\lib.win-amd64-cpython-37\Crypto\Cipher copying lib\Crypto\Cipher\__init__.py -> build\lib.win-amd64-cpython-37\Crypto\Cipher creating build\lib.win-amd64-cpython-37\Crypto\Util copying lib\Crypto\Util\asn1.py -> build\lib.win-amd64-cpython-37\Crypto\Util copying lib\Crypto\Util\Counter.py -> build\lib.win-amd64-cpython-37\Crypto\Util copying lib\Crypto\Util\number.py -> build\lib.win-amd64-cpython-37\Crypto\Util copying lib\Crypto\Util\py3compat.py -> build\lib.win-amd64-cpython-37\Crypto\Util copying lib\Crypto\Util\randpool.py -> build\lib.win-amd64-cpython-37\Crypto\Util copying lib\Crypto\Util\RFC1751.py -> build\lib.win-amd64-cpython-37\Crypto\Util copying lib\Crypto\Util\winrandom.py -> build\lib.win-amd64-cpython-37\Crypto\Util copying lib\Crypto\Util\_number_new.py -> build\lib.win-amd64-cpython-37\Crypto\Util copying lib\Crypto\Util\__init__.py -> build\lib.win-amd64-cpython-37\Crypto\Util creating build\lib.win-amd64-cpython-37\Crypto\Random copying lib\Crypto\Random\random.py -> build\lib.win-amd64-cpython-37\Crypto\Random copying lib\Crypto\Random\_UserFriendlyRNG.py -> build\lib.win-amd64-cpython-37\Crypto\Random copying lib\Crypto\Random\__init__.py -> build\lib.win-amd64-cpython-37\Crypto\Random creating build\lib.win-amd64-cpython-37\Crypto\Random\Fortuna copying lib\Crypto\Random\Fortuna\FortunaAccumulator.py -> build\lib.win-amd64-cpython-37\Crypto\Random\Fortuna copying lib\Crypto\Random\Fortuna\FortunaGenerator.py -> build\lib.win-amd64-cpython-37\Crypto\Random\Fortuna copying lib\Crypto\Random\Fortuna\SHAd256.py -> build\lib.win-amd64-cpython-37\Crypto\Random\Fortuna copying lib\Crypto\Random\Fortuna\__init__.py -> build\lib.win-amd64-cpython-37\Crypto\Random\Fortuna creating build\lib.win-amd64-cpython-37\Crypto\Random\OSRNG copying lib\Crypto\Random\OSRNG\fallback.py -> build\lib.win-amd64-cpython-37\Crypto\Random\OSRNG copying lib\Crypto\Random\OSRNG\nt.py -> build\lib.win-amd64-cpython-37\Crypto\Random\OSRNG copying lib\Crypto\Random\OSRNG\posix.py -> build\lib.win-amd64-cpython-37\Crypto\Random\OSRNG copying lib\Crypto\Random\OSRNG\rng_base.py -> build\lib.win-amd64-cpython-37\Crypto\Random\OSRNG copying lib\Crypto\Random\OSRNG\__init__.py -> build\lib.win-amd64-cpython-37\Crypto\Random\OSRNG creating build\lib.win-amd64-cpython-37\Crypto\SelfTest copying lib\Crypto\SelfTest\st_common.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest copying lib\Crypto\SelfTest\__init__.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest creating build\lib.win-amd64-cpython-37\Crypto\SelfTest\Cipher copying lib\Crypto\SelfTest\Cipher\common.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Cipher copying lib\Crypto\SelfTest\Cipher\test_AES.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Cipher copying lib\Crypto\SelfTest\Cipher\test_ARC2.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Cipher copying lib\Crypto\SelfTest\Cipher\test_ARC4.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Cipher copying lib\Crypto\SelfTest\Cipher\test_Blowfish.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Cipher copying lib\Crypto\SelfTest\Cipher\test_CAST.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Cipher copying lib\Crypto\SelfTest\Cipher\test_DES.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Cipher copying lib\Crypto\SelfTest\Cipher\test_DES3.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Cipher copying lib\Crypto\SelfTest\Cipher\test_pkcs1_15.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Cipher copying lib\Crypto\SelfTest\Cipher\test_pkcs1_oaep.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Cipher copying lib\Crypto\SelfTest\Cipher\test_XOR.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Cipher copying lib\Crypto\SelfTest\Cipher\__init__.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Cipher creating build\lib.win-amd64-cpython-37\Crypto\SelfTest\Hash copying lib\Crypto\SelfTest\Hash\common.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Hash copying lib\Crypto\SelfTest\Hash\test_HMAC.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Hash copying lib\Crypto\SelfTest\Hash\test_MD2.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Hash copying lib\Crypto\SelfTest\Hash\test_MD4.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Hash copying lib\Crypto\SelfTest\Hash\test_MD5.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Hash copying lib\Crypto\SelfTest\Hash\test_RIPEMD.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Hash copying lib\Crypto\SelfTest\Hash\test_SHA.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Hash copying lib\Crypto\SelfTest\Hash\test_SHA224.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Hash copying lib\Crypto\SelfTest\Hash\test_SHA256.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Hash copying lib\Crypto\SelfTest\Hash\test_SHA384.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Hash copying lib\Crypto\SelfTest\Hash\test_SHA512.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Hash copying lib\Crypto\SelfTest\Hash\__init__.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Hash creating build\lib.win-amd64-cpython-37\Crypto\SelfTest\Protocol copying lib\Crypto\SelfTest\Protocol\test_AllOrNothing.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Protocol copying lib\Crypto\SelfTest\Protocol\test_chaffing.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Protocol copying lib\Crypto\SelfTest\Protocol\test_KDF.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Protocol copying lib\Crypto\SelfTest\Protocol\test_rfc1751.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Protocol copying lib\Crypto\SelfTest\Protocol\__init__.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Protocol creating build\lib.win-amd64-cpython-37\Crypto\SelfTest\PublicKey copying lib\Crypto\SelfTest\PublicKey\test_DSA.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\PublicKey copying lib\Crypto\SelfTest\PublicKey\test_ElGamal.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\PublicKey copying lib\Crypto\SelfTest\PublicKey\test_importKey.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\PublicKey copying lib\Crypto\SelfTest\PublicKey\test_RSA.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\PublicKey copying lib\Crypto\SelfTest\PublicKey\__init__.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\PublicKey creating build\lib.win-amd64-cpython-37\Crypto\SelfTest\Random copying lib\Crypto\SelfTest\Random\test_random.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Random copying lib\Crypto\SelfTest\Random\test_rpoolcompat.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Random copying lib\Crypto\SelfTest\Random\test__UserFriendlyRNG.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Random copying lib\Crypto\SelfTest\Random\__init__.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Random creating build\lib.win-amd64-cpython-37\Crypto\SelfTest\Random\Fortuna copying lib\Crypto\SelfTest\Random\Fortuna\test_FortunaAccumulator.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Random\Fortuna copying lib\Crypto\SelfTest\Random\Fortuna\test_FortunaGenerator.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Random\Fortuna copying lib\Crypto\SelfTest\Random\Fortuna\test_SHAd256.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Random\Fortuna copying lib\Crypto\SelfTest\Random\Fortuna\__init__.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Random\Fortuna creating build\lib.win-amd64-cpython-37\Crypto\SelfTest\Random\OSRNG copying lib\Crypto\SelfTest\Random\OSRNG\test_fallback.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Random\OSRNG copying lib\Crypto\SelfTest\Random\OSRNG\test_generic.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Random\OSRNG copying lib\Crypto\SelfTest\Random\OSRNG\test_nt.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Random\OSRNG copying lib\Crypto\SelfTest\Random\OSRNG\test_posix.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Random\OSRNG copying lib\Crypto\SelfTest\Random\OSRNG\test_winrandom.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Random\OSRNG copying lib\Crypto\SelfTest\Random\OSRNG\__init__.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Random\OSRNG creating build\lib.win-amd64-cpython-37\Crypto\SelfTest\Util copying lib\Crypto\SelfTest\Util\test_asn1.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Util copying lib\Crypto\SelfTest\Util\test_Counter.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Util copying lib\Crypto\SelfTest\Util\test_number.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Util copying lib\Crypto\SelfTest\Util\test_winrandom.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Util copying lib\Crypto\SelfTest\Util\__init__.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Util creating build\lib.win-amd64-cpython-37\Crypto\SelfTest\Signature copying lib\Crypto\SelfTest\Signature\test_pkcs1_15.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Signature copying lib\Crypto\SelfTest\Signature\test_pkcs1_pss.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Signature copying lib\Crypto\SelfTest\Signature\__init__.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Signature creating build\lib.win-amd64-cpython-37\Crypto\Protocol copying lib\Crypto\Protocol\AllOrNothing.py -> build\lib.win-amd64-cpython-37\Crypto\Protocol copying lib\Crypto\Protocol\Chaffing.py -> build\lib.win-amd64-cpython-37\Crypto\Protocol copying lib\Crypto\Protocol\KDF.py -> build\lib.win-amd64-cpython-37\Crypto\Protocol copying lib\Crypto\Protocol\__init__.py -> build\lib.win-amd64-cpython-37\Crypto\Protocol creating build\lib.win-amd64-cpython-37\Crypto\PublicKey copying lib\Crypto\PublicKey\DSA.py -> build\lib.win-amd64-cpython-37\Crypto\PublicKey copying lib\Crypto\PublicKey\ElGamal.py -> build\lib.win-amd64-cpython-37\Crypto\PublicKey copying lib\Crypto\PublicKey\pubkey.py -> build\lib.win-amd64-cpython-37\Crypto\PublicKey copying lib\Crypto\PublicKey\RSA.py -> build\lib.win-amd64-cpython-37\Crypto\PublicKey copying lib\Crypto\PublicKey\_DSA.py -> build\lib.win-amd64-cpython-37\Crypto\PublicKey copying lib\Crypto\PublicKey\_RSA.py -> build\lib.win-amd64-cpython-37\Crypto\PublicKey copying lib\Crypto\PublicKey\_slowmath.py -> build\lib.win-amd64-cpython-37\Crypto\PublicKey copying lib\Crypto\PublicKey\__init__.py -> build\lib.win-amd64-cpython-37\Crypto\PublicKey creating build\lib.win-amd64-cpython-37\Crypto\Signature copying lib\Crypto\Signature\PKCS1_PSS.py -> build\lib.win-amd64-cpython-37\Crypto\Signature copying lib\Crypto\Signature\PKCS1_v1_5.py -> build\lib.win-amd64-cpython-37\Crypto\Signature copying lib\Crypto\Signature\__init__.py -> build\lib.win-amd64-cpython-37\Crypto\Signature running build_ext warning: GMP or MPIR library not found; Not building Crypto.PublicKey._fastmath. building 'Crypto.Random.OSRNG.winrandom' extension creating build\temp.win-amd64-cpython-37 creating build\temp.win-amd64-cpython-37\Release creating build\temp.win-amd64-cpython-37\Release\src "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Isrc/ -Isrc/inc-msvc/ - ID:\python-venv\yinruan\alipay\include -IG:\python377\include -IG:\python377\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\inc lude" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt" /Tcs rc/winrand.c /Fobuild\temp.win-amd64-cpython-37\Release\src/winrand.obj winrand.c C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(31): error C2061: 语法错误: 标识符“intmax_t” C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(32): error C2061: 语法错误: 标识符“rem” C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(32): error C2059: 语法错误:“;” C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(33): error C2059: 语法错误:“}” C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(35): error C2061: 语法错误: 标识符“imaxdiv_t” C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(35): error C2059: 语法错误:“;” C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(45): error C2143: 语法错误: 缺少“{”(在“__cdecl”的前面) C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(46): error C2146: 语法错误: 缺少“)”(在标识符“_Number”的前面) C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(46): error C2061: 语法错误: 标识符“_Number” C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(46): error C2059: 语法错误:“;” C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(47): error C2059: 语法错误:“)” C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(50): error C2143: 语法错误: 缺少“{”(在“__cdecl”的前面) C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(51): error C2146: 语法错误: 缺少“)”(在标识符“_Numerator”的前面) C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(51): error C2061: 语法错误: 标识符“_Numerator” C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(51): error C2059: 语法错误:“;” C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(51): error C2059: 语法错误:“,” C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(53): error C2059: 语法错误:“)” C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(55): error C2143: 语法错误: 缺少“{”(在“__cdecl”的前面) C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(61): error C2143: 语法错误: 缺少“{”(在“__cdecl”的前面) C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(68): error C2143: 语法错误: 缺少“{”(在“__cdecl”的前面) C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(74): error C2143: 语法错误: 缺少“{”(在“__cdecl”的前面) C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(81): error C2143: 语法错误: 缺少“{”(在“__cdecl”的前面) C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(87): error C2143: 语法错误: 缺少“{”(在“__cdecl”的前面) C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(94): error C2143: 语法错误: 缺少“{”(在“__cdecl”的前面) C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(100): error C2143: 语法错误: 缺少“{”(在“__cdecl”的前面) error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2 [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for pycrypto Running setup.py clean for pycrypto Failed to build pycrypto Installing collected packages: pycrypto, ptyprocess, pbus, onetable, oneimage, kafka-python, cached-property, billiard, zipp, wechat-sdk, vine, urllib3, uniapi, typing_extensions, traitlets, tornado, sqlparse, qiniu, PyYAML, PyMySQL, pycparser, pyasn1, pmongo, Pillow, pika, lxml, jmespath, et-xmlfile, Auto-Python-2014, aliyunsdkcore, rsa, openpyxl, Naked, im portlib-metadata, cffi, async-timeout, asgiref, amqp, redis, kombu, Django, cryptography, crypto, click, alipay-sdk-python, django-redis, click-repl, click-plugins, click-didyoumea n, aliyun-python-sdk-core, celery, aliyun-python-sdk-dysmsapi Running setup.py install for pycrypto ... error error: subprocess-exited-with-error × Running setup.py install for pycrypto did not run successfully. │ exit code: 1 ╰─> [181 lines of output] running install D:\python-venv\yinruan\alipay\lib\site-packages\setuptools\command\install.py:37: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other st andards-based tools. setuptools.SetuptoolsDeprecationWarning, running build running build_py creating build creating build\lib.win-amd64-cpython-37 creating build\lib.win-amd64-cpython-37\Crypto copying lib\Crypto\pct_warnings.py -> build\lib.win-amd64-cpython-37\Crypto copying lib\Crypto\__init__.py -> build\lib.win-amd64-cpython-37\Crypto creating build\lib.win-amd64-cpython-37\Crypto\Hash copying lib\Crypto\Hash\hashalgo.py -> build\lib.win-amd64-cpython-37\Crypto\Hash copying lib\Crypto\Hash\HMAC.py -> build\lib.win-amd64-cpython-37\Crypto\Hash copying lib\Crypto\Hash\MD2.py -> build\lib.win-amd64-cpython-37\Crypto\Hash copying lib\Crypto\Hash\MD4.py -> build\lib.win-amd64-cpython-37\Crypto\Hash copying lib\Crypto\Hash\MD5.py -> build\lib.win-amd64-cpython-37\Crypto\Hash copying lib\Crypto\Hash\RIPEMD.py -> build\lib.win-amd64-cpython-37\Crypto\Hash copying lib\Crypto\Hash\SHA.py -> build\lib.win-amd64-cpython-37\Crypto\Hash copying lib\Crypto\Hash\SHA224.py -> build\lib.win-amd64-cpython-37\Crypto\Hash copying lib\Crypto\Hash\SHA256.py -> build\lib.win-amd64-cpython-37\Crypto\Hash copying lib\Crypto\Hash\SHA384.py -> build\lib.win-amd64-cpython-37\Crypto\Hash copying lib\Crypto\Hash\SHA512.py -> build\lib.win-amd64-cpython-37\Crypto\Hash copying lib\Crypto\Hash\__init__.py -> build\lib.win-amd64-cpython-37\Crypto\Hash creating build\lib.win-amd64-cpython-37\Crypto\Cipher copying lib\Crypto\Cipher\AES.py -> build\lib.win-amd64-cpython-37\Crypto\Cipher copying lib\Crypto\Cipher\ARC2.py -> build\lib.win-amd64-cpython-37\Crypto\Cipher copying lib\Crypto\Cipher\ARC4.py -> build\lib.win-amd64-cpython-37\Crypto\Cipher copying lib\Crypto\Cipher\blockalgo.py -> build\lib.win-amd64-cpython-37\Crypto\Cipher copying lib\Crypto\Cipher\Blowfish.py -> build\lib.win-amd64-cpython-37\Crypto\Cipher copying lib\Crypto\Cipher\CAST.py -> build\lib.win-amd64-cpython-37\Crypto\Cipher copying lib\Crypto\Cipher\DES.py -> build\lib.win-amd64-cpython-37\Crypto\Cipher copying lib\Crypto\Cipher\DES3.py -> build\lib.win-amd64-cpython-37\Crypto\Cipher copying lib\Crypto\Cipher\PKCS1_OAEP.py -> build\lib.win-amd64-cpython-37\Crypto\Cipher copying lib\Crypto\Cipher\PKCS1_v1_5.py -> build\lib.win-amd64-cpython-37\Crypto\Cipher copying lib\Crypto\Cipher\XOR.py -> build\lib.win-amd64-cpython-37\Crypto\Cipher copying lib\Crypto\Cipher\__init__.py -> build\lib.win-amd64-cpython-37\Crypto\Cipher creating build\lib.win-amd64-cpython-37\Crypto\Util copying lib\Crypto\Util\asn1.py -> build\lib.win-amd64-cpython-37\Crypto\Util copying lib\Crypto\Util\Counter.py -> build\lib.win-amd64-cpython-37\Crypto\Util copying lib\Crypto\Util\number.py -> build\lib.win-amd64-cpython-37\Crypto\Util copying lib\Crypto\Util\py3compat.py -> build\lib.win-amd64-cpython-37\Crypto\Util copying lib\Crypto\Util\randpool.py -> build\lib.win-amd64-cpython-37\Crypto\Util copying lib\Crypto\Util\RFC1751.py -> build\lib.win-amd64-cpython-37\Crypto\Util copying lib\Crypto\Util\winrandom.py -> build\lib.win-amd64-cpython-37\Crypto\Util copying lib\Crypto\Util\_number_new.py -> build\lib.win-amd64-cpython-37\Crypto\Util copying lib\Crypto\Util\__init__.py -> build\lib.win-amd64-cpython-37\Crypto\Util creating build\lib.win-amd64-cpython-37\Crypto\Random copying lib\Crypto\Random\random.py -> build\lib.win-amd64-cpython-37\Crypto\Random copying lib\Crypto\Random\_UserFriendlyRNG.py -> build\lib.win-amd64-cpython-37\Crypto\Random copying lib\Crypto\Random\__init__.py -> build\lib.win-amd64-cpython-37\Crypto\Random creating build\lib.win-amd64-cpython-37\Crypto\Random\Fortuna copying lib\Crypto\Random\Fortuna\FortunaAccumulator.py -> build\lib.win-amd64-cpython-37\Crypto\Random\Fortuna copying lib\Crypto\Random\Fortuna\FortunaGenerator.py -> build\lib.win-amd64-cpython-37\Crypto\Random\Fortuna copying lib\Crypto\Random\Fortuna\SHAd256.py -> build\lib.win-amd64-cpython-37\Crypto\Random\Fortuna copying lib\Crypto\Random\Fortuna\__init__.py -> build\lib.win-amd64-cpython-37\Crypto\Random\Fortuna creating build\lib.win-amd64-cpython-37\Crypto\Random\OSRNG copying lib\Crypto\Random\OSRNG\fallback.py -> build\lib.win-amd64-cpython-37\Crypto\Random\OSRNG copying lib\Crypto\Random\OSRNG\nt.py -> build\lib.win-amd64-cpython-37\Crypto\Random\OSRNG copying lib\Crypto\Random\OSRNG\posix.py -> build\lib.win-amd64-cpython-37\Crypto\Random\OSRNG copying lib\Crypto\Random\OSRNG\rng_base.py -> build\lib.win-amd64-cpython-37\Crypto\Random\OSRNG copying lib\Crypto\Random\OSRNG\__init__.py -> build\lib.win-amd64-cpython-37\Crypto\Random\OSRNG creating build\lib.win-amd64-cpython-37\Crypto\SelfTest copying lib\Crypto\SelfTest\st_common.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest copying lib\Crypto\SelfTest\__init__.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest creating build\lib.win-amd64-cpython-37\Crypto\SelfTest\Cipher copying lib\Crypto\SelfTest\Cipher\common.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Cipher copying lib\Crypto\SelfTest\Cipher\test_AES.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Cipher copying lib\Crypto\SelfTest\Cipher\test_ARC2.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Cipher copying lib\Crypto\SelfTest\Cipher\test_ARC4.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Cipher copying lib\Crypto\SelfTest\Cipher\test_Blowfish.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Cipher copying lib\Crypto\SelfTest\Cipher\test_CAST.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Cipher copying lib\Crypto\SelfTest\Cipher\test_DES.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Cipher copying lib\Crypto\SelfTest\Cipher\test_DES3.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Cipher copying lib\Crypto\SelfTest\Cipher\test_pkcs1_15.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Cipher copying lib\Crypto\SelfTest\Cipher\test_pkcs1_oaep.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Cipher copying lib\Crypto\SelfTest\Cipher\test_XOR.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Cipher copying lib\Crypto\SelfTest\Cipher\__init__.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Cipher creating build\lib.win-amd64-cpython-37\Crypto\SelfTest\Hash copying lib\Crypto\SelfTest\Hash\common.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Hash copying lib\Crypto\SelfTest\Hash\test_HMAC.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Hash copying lib\Crypto\SelfTest\Hash\test_MD2.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Hash copying lib\Crypto\SelfTest\Hash\test_MD4.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Hash copying lib\Crypto\SelfTest\Hash\test_MD5.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Hash copying lib\Crypto\SelfTest\Hash\test_RIPEMD.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Hash copying lib\Crypto\SelfTest\Hash\test_SHA.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Hash copying lib\Crypto\SelfTest\Hash\test_SHA224.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Hash copying lib\Crypto\SelfTest\Hash\test_SHA256.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Hash copying lib\Crypto\SelfTest\Hash\test_SHA384.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Hash copying lib\Crypto\SelfTest\Hash\test_SHA512.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Hash copying lib\Crypto\SelfTest\Hash\__init__.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Hash creating build\lib.win-amd64-cpython-37\Crypto\SelfTest\Protocol copying lib\Crypto\SelfTest\Protocol\test_AllOrNothing.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Protocol copying lib\Crypto\SelfTest\Protocol\test_chaffing.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Protocol copying lib\Crypto\SelfTest\Protocol\test_KDF.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Protocol copying lib\Crypto\SelfTest\Protocol\test_rfc1751.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Protocol copying lib\Crypto\SelfTest\Protocol\__init__.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Protocol creating build\lib.win-amd64-cpython-37\Crypto\SelfTest\PublicKey copying lib\Crypto\SelfTest\PublicKey\test_DSA.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\PublicKey copying lib\Crypto\SelfTest\PublicKey\test_ElGamal.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\PublicKey copying lib\Crypto\SelfTest\PublicKey\test_importKey.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\PublicKey copying lib\Crypto\SelfTest\PublicKey\test_RSA.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\PublicKey copying lib\Crypto\SelfTest\PublicKey\__init__.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\PublicKey creating build\lib.win-amd64-cpython-37\Crypto\SelfTest\Random copying lib\Crypto\SelfTest\Random\test_random.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Random copying lib\Crypto\SelfTest\Random\test_rpoolcompat.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Random copying lib\Crypto\SelfTest\Random\test__UserFriendlyRNG.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Random copying lib\Crypto\SelfTest\Random\__init__.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Random creating build\lib.win-amd64-cpython-37\Crypto\SelfTest\Random\Fortuna copying lib\Crypto\SelfTest\Random\Fortuna\test_FortunaAccumulator.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Random\Fortuna copying lib\Crypto\SelfTest\Random\Fortuna\test_FortunaGenerator.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Random\Fortuna copying lib\Crypto\SelfTest\Random\Fortuna\test_SHAd256.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Random\Fortuna copying lib\Crypto\SelfTest\Random\Fortuna\__init__.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Random\Fortuna creating build\lib.win-amd64-cpython-37\Crypto\SelfTest\Random\OSRNG copying lib\Crypto\SelfTest\Random\OSRNG\test_fallback.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Random\OSRNG copying lib\Crypto\SelfTest\Random\OSRNG\test_generic.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Random\OSRNG copying lib\Crypto\SelfTest\Random\OSRNG\test_nt.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Random\OSRNG copying lib\Crypto\SelfTest\Random\OSRNG\test_posix.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Random\OSRNG copying lib\Crypto\SelfTest\Random\OSRNG\test_winrandom.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Random\OSRNG copying lib\Crypto\SelfTest\Random\OSRNG\__init__.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Random\OSRNG creating build\lib.win-amd64-cpython-37\Crypto\SelfTest\Util copying lib\Crypto\SelfTest\Util\test_asn1.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Util copying lib\Crypto\SelfTest\Util\test_Counter.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Util copying lib\Crypto\SelfTest\Util\test_number.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Util copying lib\Crypto\SelfTest\Util\test_winrandom.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Util copying lib\Crypto\SelfTest\Util\__init__.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Util creating build\lib.win-amd64-cpython-37\Crypto\SelfTest\Signature copying lib\Crypto\SelfTest\Signature\test_pkcs1_15.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Signature copying lib\Crypto\SelfTest\Signature\test_pkcs1_pss.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Signature copying lib\Crypto\SelfTest\Signature\__init__.py -> build\lib.win-amd64-cpython-37\Crypto\SelfTest\Signature creating build\lib.win-amd64-cpython-37\Crypto\Protocol copying lib\Crypto\Protocol\AllOrNothing.py -> build\lib.win-amd64-cpython-37\Crypto\Protocol copying lib\Crypto\Protocol\Chaffing.py -> build\lib.win-amd64-cpython-37\Crypto\Protocol copying lib\Crypto\Protocol\KDF.py -> build\lib.win-amd64-cpython-37\Crypto\Protocol copying lib\Crypto\Protocol\__init__.py -> build\lib.win-amd64-cpython-37\Crypto\Protocol creating build\lib.win-amd64-cpython-37\Crypto\PublicKey copying lib\Crypto\PublicKey\DSA.py -> build\lib.win-amd64-cpython-37\Crypto\PublicKey copying lib\Crypto\PublicKey\ElGamal.py -> build\lib.win-amd64-cpython-37\Crypto\PublicKey copying lib\Crypto\PublicKey\pubkey.py -> build\lib.win-amd64-cpython-37\Crypto\PublicKey copying lib\Crypto\PublicKey\RSA.py -> build\lib.win-amd64-cpython-37\Crypto\PublicKey copying lib\Crypto\PublicKey\_DSA.py -> build\lib.win-amd64-cpython-37\Crypto\PublicKey copying lib\Crypto\PublicKey\_RSA.py -> build\lib.win-amd64-cpython-37\Crypto\PublicKey copying lib\Crypto\PublicKey\_slowmath.py -> build\lib.win-amd64-cpython-37\Crypto\PublicKey copying lib\Crypto\PublicKey\__init__.py -> build\lib.win-amd64-cpython-37\Crypto\PublicKey creating build\lib.win-amd64-cpython-37\Crypto\Signature copying lib\Crypto\Signature\PKCS1_PSS.py -> build\lib.win-amd64-cpython-37\Crypto\Signature copying lib\Crypto\Signature\PKCS1_v1_5.py -> build\lib.win-amd64-cpython-37\Crypto\Signature copying lib\Crypto\Signature\__init__.py -> build\lib.win-amd64-cpython-37\Crypto\Signature running build_ext warning: GMP or MPIR library not found; Not building Crypto.PublicKey._fastmath. building 'Crypto.Random.OSRNG.winrandom' extension creating build\temp.win-amd64-cpython-37 creating build\temp.win-amd64-cpython-37\Release creating build\temp.win-amd64-cpython-37\Release\src "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -Isrc/ -Isrc/inc-msvc/ - ID:\python-venv\yinruan\alipay\include -IG:\python377\include -IG:\python377\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\inc lude" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\shared" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\um" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\cppwinrt" /Tcs rc/winrand.c /Fobuild\temp.win-amd64-cpython-37\Release\src/winrand.obj winrand.c C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(31): error C2061: 语法错误: 标识符“intmax_t” C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(32): error C2061: 语法错误: 标识符“rem” C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(32): error C2059: 语法错误:“;” C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(33): error C2059: 语法错误:“}” C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(35): error C2061: 语法错误: 标识符“imaxdiv_t” C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(35): error C2059: 语法错误:“;” C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(45): error C2143: 语法错误: 缺少“{”(在“__cdecl”的前面) C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(46): error C2146: 语法错误: 缺少“)”(在标识符“_Number”的前面) C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(46): error C2061: 语法错误: 标识符“_Number” C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(46): error C2059: 语法错误:“;” C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(47): error C2059: 语法错误:“)” C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(50): error C2143: 语法错误: 缺少“{”(在“__cdecl”的前面) C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(51): error C2146: 语法错误: 缺少“)”(在标识符“_Numerator”的前面) C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(51): error C2061: 语法错误: 标识符“_Numerator” C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(51): error C2059: 语法错误:“;” C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(51): error C2059: 语法错误:“,” C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(53): error C2059: 语法错误:“)” C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(55): error C2143: 语法错误: 缺少“{”(在“__cdecl”的前面) C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(61): error C2143: 语法错误: 缺少“{”(在“__cdecl”的前面) C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(68): error C2143: 语法错误: 缺少“{”(在“__cdecl”的前面) C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(74): error C2143: 语法错误: 缺少“{”(在“__cdecl”的前面) C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(81): error C2143: 语法错误: 缺少“{”(在“__cdecl”的前面) C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(87): error C2143: 语法错误: 缺少“{”(在“__cdecl”的前面) C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h(100): error C2143: 语法错误: 缺少“{”(在“__cdecl”的前面) error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2 [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. error: legacy-install-failure {/collapse-item}{/collapse}解决方案主要是提示C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h有个语法错误打开相应的文件C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\ucrt\inttypes.h在顶部写入#define intmax_t long long #define uintmax_t unsigned long long错误信息:error: Microsoft Visual C++ 9.0 is required. Get it from http://aka.ms/vcpython27安装包:VCForPython27.msi参考内容: 参考内容
2023年06月08日
113 阅读
0 评论
0 点赞
2023-04-04
idea接入chatGPT
在文件,设置,插件直接搜索Tabnine AI,然后安装,需要用邮箱注册一下
2023年04月04日
43 阅读
0 评论
0 点赞
2022-08-24
Django orm 使用case when排序
from django.db.models import Case, When # 先取出商品id和销量 ratings_tuples = [(r.id, r.sales) for r in Product.objects.filter()] # 根据销量降序排序 ratings_list = sorted(ratings_typles, key=lambda x: x[1], reverse=True) print ratings_list [(20L, 1000L), (2187L, 503L), (7715L, 483L), (7711L, 430L), (7720L, 421L), (7717L, 353L), (7719L, 352L), (7712L, 344L), (883L, 300L), (7718L, 276L), (7716L, 219L), (1935L, 110L), (592L, 100L), (3293L, 65L), (2439L, 56L), (7671L, 50L), (1597L, 30L), (7705L, 30L), (777L, 20L), (2292L, 20L), (1563L, 19L), (7706L, 18L), (2L, 16L), (7012L, 16L), (1255L, 12L), (15L, 11L), (1183L, 11L), (3101L, 11L), (7710L, 11L), (59L, 10L), (1256L, 10L), (4029L, 10L), (5831L, 10L), (7241L, 10L), (1L, 9L), (50L, 9L), (1933L, 9L), (2613L, 8L), (18L, 7L), (524L, 6L), (1934L, 6L), (221L, 5L), (1601L, 5L), (1702L, 5L), (1855L, 5L), (5195L, 5L), (7073L, 5L), (7709L, 5L), (7L, 4L), (695L, 4L), (1018L, 4L), (2303L, 4L), (2674L, 4L), (3671L, 4L), (4435L, 4L), (7669L, 4L), (264L, 3L), (589L, 3L), (2526L, 3L), (5115L, 3L), (5305L, 3L), (7616L, 3L), (7695L, 3L), (17L, 2L), (77L, 2L), (770L, 2L), (1474L, 2L), (1591L, 2L), (1961L, 2L), (2763L, 2L), (3670L, 2L), (4434L, 2L), (7479L, 2L), (3L, 1L), (5L, 1L), (16L, 1L), (19... # 将排序后的id放在一个列表里面 pk_list = [idx for idx, sales in ratings_list] # 根据这个id进行case when的排序 preserved = Case(*[When(pk=pk, then=pos) for pos, pk in enumerate(pk_list)]) query = Product.objects.filter(pk__in=pk_list).order_by(preserved)
2022年08月24日
84 阅读
0 评论
1 点赞
2022-07-26
apscheduler cron定时任务触发接口
from apscheduler.schedulers.blocking import BlockingScheduler class Timing: def __init__(self, start_date, end_date, hour=None): self.start_date = start_date self.end_date = end_date self.hour = hour def cron(self, job, *value_list): """cron格式 在特定时间周期性地触发""" # year (int 或 str) – 年,4位数字 # month (int 或 str) – 月 (范围1-12) # day (int 或 str) – 日 (范围1-31) # week (int 或 str) – 周 (范围1-53) # day_of_week (int 或 str) – 周内第几天或者星期几 (范围0-6 或者 mon,tue,wed,thu,fri,sat,sun) # hour (int 或 str) – 时 (范围0-23) # minute (int 或 str) – 分 (范围0-59) # second (int 或 str) – 秒 (范围0-59) # start_date (datetime 或 str) – 最早开始日期(包含) # end_date (datetime 或 str) – 分 最晚结束时间(包含) # timezone (datetime.tzinfo 或str) – 指定时区 scheduler = BlockingScheduler() scheduler.add_job(job, 'cron', start_date=self.start_date, end_date=self.end_date, hour=self.hour, args=[*value_list]) scheduler.start() def interval(self, job, *value_list): """interval格式 周期触发任务""" # weeks (int) - 间隔几周 # days (int) - 间隔几天 # hours (int) - 间隔几小时 # minutes (int) - 间隔几分钟 # seconds (int) - 间隔多少秒 # start_date (datetime 或 str) - 开始日期 # end_date (datetime 或 str) - 结束日期 # timezone (datetime.tzinfo 或str) - 时区 scheduler = BlockingScheduler() # 在 2019-08-29 22:15:00至2019-08-29 22:17:00期间,每隔1分30秒 运行一次 job 方法 scheduler.add_job(job, 'interval', minutes=1, seconds=30, start_date=self.start_date, end_date=self.end_date, args=[*value_list]) scheduler.start() @staticmethod def date(job, *value_list): """date格式 特定时间点触发""" # run_date (datetime 或 str) - 作业的运行日期或时间 # timezone (datetime.tzinfo 或 str) - 指定时区 scheduler = BlockingScheduler() # 在 2019-8-30 01:00:01 运行一次 job 方法 scheduler.add_job(job, 'date', run_date='2019-8-30 01:00:00', args=[*value_list]) scheduler.start()
2022年07月26日
88 阅读
0 评论
0 点赞
2022-07-25
Django中的ORM操作之高级查询aggregate和annotate方法
[Django]中的ORM操作之高级查询aggregate和annotate方法aggregate()方法详解annotate()方法详解aggregate和annotate应用场景Django中使用原生SQLaggregate()方法详解aggregate的中文意思是聚合,源于SQL的聚合函数,Django的aggregate()方法作用是对一组值 (比如queryset的某个字段)进行统计计算,并以字典(Dict)格式返回统计计算结果。django的aggregate方法支持的聚合操作有AVG / COUNT / MAX / MIN /SUM等。annotate()方法详解annotate的中文意思是注释,一个更好的理解是分组(Group By)。如果你想要对数据集先进行分组然后再进行某些聚合操作或排序时,需要使用annotate方法来实现。与aggregate方法不同的是, annotate方法返回结果的不仅仅是含有统计结果的一个字典,而是包含有新增统计字段的查询集(queryset) 。values或者values_list 放在annotate前面: 表示values或values_list是声明以什么字段分组,annotate执行分组。values或者values_list放在annotate后面: annotate表示直接以当前表的pk执行分组, values或者values_list表示查询那些字段, 并且要将annotate里的聚合函数起别名, 在values或者values_list里面写其别名。res = Publish.objects.values("name").annotate(in_price = Min("book__price")) # 先以出版社的名字进行分组, 然后再使用聚合函数查询到每个出版社里面最便宜的书籍aggregate和annotate应用场景Django的aggregate和annotate方法属于高级查询方法,主要用于组合查询,可以大大提升数据库查询效率。当你需要对查询集(queryset)的某些字段进行聚合操作时(比如Sum, Avg, Max),请使用aggregate方法。如果你想要对数据集先进行分组(Group By)然后再进行某些聚合操作或排序时,请使用annotate方法。Django中使用原生SQL我一开始想图简化,就不想用sql,于是转战django中的orm,结果今天卡住了,想半天想不出来怎么转,又回到了sql,所以说啊,不要偷懒,不然会很痛苦的,血的教训!那么问题来啦,Django中怎么使用原生Sql呢?首先我现在的需求是,查询每一个类别的文章的总数目、总访问量、总评论量以及每一个作者的文章的总数目、总访问量、总评论量,对应的sql语句如下:select category_id,count(id),sum(total_views),sum(comments) from tb_article group by category_id; select author_id,count(id),sum(total_views),sum(comments) from tb_article group by author_id;在Django中执行原生sql的操作如下:# 查询各个类别、各个作者的文章的总数量、总访问量、总评论量 try: # 创建连接 conn = pymysql.connect(host='localhost', port=3306, user='root', passwd='wxm20010428', db='blog', charset='utf8') # 创建游标 cursor = conn.cursor() # 原生sql语句 注意多条sql语句执行时的写法 sql1 = 'select category_id,count(id),sum(total_views),sum(comments) from tb_article group by category_id;' sql2 = 'select author_id,count(id),sum(total_views),sum(comments) from tb_article group by author_id;' # 执行SQL cursor.execute(sql1) result1 = cursor.fetchall() for r1 in result1: print(r1) # 完成sql1的查询 cursor.execute(sql2) result2 = cursor.fetchall() for r2 in result2: print(r2) # 完成sql2的查询 cursor.close() conn.close() except Exception as e: print("Error%d: %s" % (e.args[0], e.args[1]))
2022年07月25日
52 阅读
0 评论
0 点赞
2022-07-18
python async 使用,介绍
程序在执行 IO 密集型任务的时候,程序会因为等待 IO 而阻塞,而协程作为一种用户态的轻量级线程,可以帮我们解决这个问题说人话:说白了就是,当协程遇到io操作而阻塞时,立即切换到别的任务,如果操作完成则进行回调返回执行结果,提高了效率,同时这样也可以充分利用 CPU 和其他资源,这就是异步协程的优势,并且协程本质上是个单进程,相对于多进程来说,无需进程间上下文切换的开销,无需原子操作锁定及同步的开销,编程模型也非常简单。async/await 是python3的新特性,可以进行协程运行。个人将他理解成多线程。实现代码如下import time import asyncio async def SleepTime(ts): if ts == 3: await asyncio.sleep(10) #当ts等于3的时候,让挂起的时间为10s,其他的按正常挂起,验证协程时间。 else: await asyncio.sleep(ts) async def main(loop): tasks = [] for i in range(6): print("time begin %s"%i) tasks.append(loop.create_task(SleepTime(i))) #相当于开启了一个线程 print("sleep time end %s"%i) print("*********************") await asyncio.wait(tasks) #等待所有的任务完成。 if __name__ == "__main__": # main() print("begin test") tb = time.time() print(tb) #记录当前时间 loop = asyncio.get_event_loop() loop.run_until_complete(main(loop)) loop.close() print(time.time()-tb) #记录结束时间 print("end")` 运行结果如下,没有用到协程的结果,会依次执行,总耗时会大于10秒。begin test 1602423299.3981705 time begin 0 sleep time end 0 ********************* time begin 1 sleep time end 1 ********************* time begin 2 sleep time end 2 ********************* time begin 3 sleep time end 3 ********************* time begin 4 sleep time end 4 ********************* time begin 5 sleep time end 5 ********************* 10.005681276321411 end [Finished in 10.2s]
2022年07月18日
141 阅读
0 评论
0 点赞
2022-06-07
Python错误类型
Python全部的错误类型错误类型——说明ZeroDivisionError——除(或取模)零 (所有数据类型)ValueError——传入无效的参数AssertionError——断言语句失败StopIteration——迭代器没有更多的值IndexError——序列中没有此索引(index)IndentationError——缩进错误OSError——输入/输出操作失败ImportError——导入模块/对象失败NameError——未声明/初始化对象 (没有属性)AttributeError——对象没有这个属性GeneratorExit——生成器(generator)发生异常来通知退出TypeError——对类型无效的操作KeyboardInterrupt——用户中断执行(通常是输入^C)OverflowError——数值运算超出最大限制FloatingPointError——浮点计算错误BaseException——所有异常的基类SystemExit——解释器请求退出Exception——常规错误的基类StandardError——所有的内建标准异常的基类ArithmeticError——所有数值计算错误的基类EOFError——没有内建输入,到达EOF 标记EnvironmentError——操作系统错误的基类WindowsError——系统调用失败LookupError——无效数据查询的基类KeyError——映射中没有这个键MemoryError——内存溢出错误(对于Python 解释器不是致命的)UnboundLocalError——访问未初始化的本地变量ReferenceError——弱引用(Weak reference)试图访问已经垃圾回收了的对象RuntimeError——一般的运行时错误NotImplementedError——尚未实现的方法SyntaxError Python——语法错误TabError——Tab 和空格混用SystemError——一般的解释器系统错误UnicodeError——Unicode 相关的错误UnicodeDecodeError——Unicode 解码时的错误UnicodeEncodeError——Unicode 编码时错误UnicodeTranslateError——Unicode 转换时错误以下为警告类型Warning——警告的基类DeprecationWarning——关于被弃用的特征的警告FutureWarning——关于构造将来语义会有改变的警告OverflowWarning——旧的关于自动提升为长整型(long)的警告PendingDeprecationWarning——关于特性将会被废弃的警告RuntimeWarning——可疑的运行时行为(runtime behavior)的警告SyntaxWarning——可疑的语法的警告UserWarning——用户代码生成的警告
2022年06月07日
87 阅读
0 评论
0 点赞
2022-05-26
此内容被密码保护
加密文章,请前往内页查看详情
2022年05月26日
7 阅读
0 评论
0 点赞
2022-05-26
APScheduler最基本的用法: “定时几秒后启动job”
APScheduler最基本的用法: “定时几秒后启动job”两种调度器: BackgroundScheduler和BlockingScheduler的区别,job执行时间大于定时调度时间特殊情况的问题及解决方法每个job都会以thread的方式被调度。1、基本的定时调度APScheduler是python的一个定时任务调度框架,能实现类似linux下crontab类型的任务,使用起来比较方便。它提供基于固定时间间隔、日期以及crontab配置类似的任务调度,并可以持久化任务,或将任务以daemon方式运行。下面是一个最基本的使用示例:from apscheduler.schedulers.blocking import BlockingScheduler def job(): print('job 3s') if __name__=='__main__': sched = BlockingScheduler(timezone='MST') sched.add_job(job, 'interval', id='3_second_job', seconds=3) sched.start()它能实现每隔3s就调度job()运行一次,所以程序每隔3s就输出'job 3s'。通过修改add_job()的参数seconds,就可以改变任务调度的间隔时间。2、BlockingScheduler与BackgroundScheduler区别APScheduler中有很多种不同类型的调度器,BlockingScheduler与BackgroundScheduler是其中最常用的两种调度器。那他们之间有什么区别呢? 简单来说,区别主要在于BlockingScheduler会阻塞主线程的运行,而BackgroundScheduler不会阻塞。所以,我们在不同的情况下,选择不同的调度器:BlockingScheduler: 调用start函数后会阻塞当前线程。当调度器是你应用中唯一要运行的东西时(如上例)使用。BackgroundScheduler: 调用start后主线程不会阻塞。当你不运行任何其他框架时使用,并希望调度器在你应用的后台执行。下面用两个例子来更直观的说明两者的区别。BlockingScheduler例子from apscheduler.schedulers.blocking import BlockingScheduler import time def job(): print('job 3s') if __name__=='__main__': sched = BlockingScheduler(timezone='MST') sched.add_job(job, 'interval', id='3_second_job', seconds=3) sched.start() while(True): # 不会被执行到 print('main 1s') time.sleep(1) 运行这个程序,我们得到如下的输出:job 3s job 3s job 3s job 3s 可见,BlockingScheduler调用start函数后会阻塞当前线程, 导致主程序中while循环不会被执行到。 BackgroundScheduler例子from apscheduler.schedulers.background import BackgroundScheduler import time def job(): print('job 3s') if __name__=='__main__': sched = BackgroundScheduler(timezone='MST') sched.add_job(job, 'interval', id='3_second_job', seconds=3) sched.start() while(True): print('main 1s') time.sleep(1) 可见,BackgroundScheduler调用start函数后并不会阻塞当前线程,所以可以继续执行主程序中while循环的逻辑。main 1s main 1s main 1s job 3s main 1s main 1s main 1s job 3s 通过这个输出,我们也可以发现,调用start函数后,job()并不会立即开始执行。而是等待3s后,才会被调度执行。如何让job在start()后就开始运行如何才能让调度器调用start函数后,job()就立即开始执行呢?其实APScheduler并没有提供很好的方法来解决这个问题,但有一种最简单的方式,就是在调度器start之前,就运行一次job(),如下from apscheduler.schedulers.background import BackgroundScheduler import time def job(): print('job 3s') if __name__=='__main__': job() # 执行一次就好了哟 sched = BackgroundScheduler(timezone='MST') sched.add_job(job, 'interval', id='3_second_job', seconds=3) sched.start() while(True): print('main 1s') time.sleep(1) 这样就能得到如下的输出job 3s main 1s main 1s main 1s job 3s main 1s main 1s main 1s这样虽然没有绝对做到“让job在start()后就开始运行”,但也能做到“不等待调度,而是刚开始就运行job”。如果job执行时间过长会怎么样如果执行job()的时间需要5s,但调度器配置为每隔3s就调用一下job(),会发生什么情况呢?我们写了如下例子:from apscheduler.schedulers.background import BackgroundScheduler import time def job(): print('job 3s') time.sleep(5) if __name__=='__main__': sched = BackgroundScheduler(timezone='MST') sched.add_job(job, 'interval', id='3_second_job', seconds=3) sched.start() while(True): print('main 1s') time.sleep(1)运行这个程序,我们得到如下的输出:main 1s main 1s main 1s job 3s main 1s main 1s main 1s Execution of job "job (trigger: interval[0:00:03], next run at: 2018-05-07 02:44:29 MST)" skipped: maximum number of running instances reached (1) main 1s main 1s main 1s job 3s main 1s可见,3s时间到达后,并不会“重新启动一个job线程”,而是会跳过该次调度,等到下一个周期(再等待3s),又重新调度job()。为了能让多个job()同时运行,我们也可以配置调度器的参数max_instances,如下例,我们允许2个job()同时运行:from apscheduler.schedulers.background import BackgroundScheduler import time def job(): print('job 3s') time.sleep(5) if __name__=='__main__': job_defaults = { 'max_instances': 2 } sched = BackgroundScheduler(timezone='MST', job_defaults=job_defaults) sched.add_job(job, 'interval', id='3_second_job', seconds=3) sched.start() while(True): print('main 1s') time.sleep(1)运行程序,我们得到如下的输出:main 1s main 1s main 1s job 3s main 1s main 1s main 1s job 3s main 1s main 1s main 1s job 3s每个job是怎么被调度的通过上面的例子,我们发现,调度器是定时调度job()函数,来实现调度的。那job()函数会被以进程的方式调度运行,还是以线程来运行呢?为了弄清这个问题,我们写了如下程序:from apscheduler.schedulers.background import BackgroundScheduler import time,os,threading def job(): print('job thread_id-{0}, process_id-{1}'.format(threading.get_ident(), os.getpid())) time.sleep(50) if __name__=='__main__': job_defaults = { 'max_instances': 20 } sched = BackgroundScheduler(timezone='MST', job_defaults=job_defaults) sched.add_job(job, 'interval', id='3_second_job', seconds=3) sched.start() while(True): print('main 1s') time.sleep(1)运行程序,我们得到如下的输出:main 1s main 1s main 1s job thread_id-10644, process_id-8872 main 1s main 1s main 1s job thread_id-3024, process_id-8872 main 1s main 1s main 1s job thread_id-6728, process_id-8872 main 1s main 1s main 1s job thread_id-11716, process_id-8872可见,每个job()的进程ID都相同,但线程ID不同。所以,job()最终是以线程的方式被调度执行。来源:https://www.jb51.net/article/218332.htm
2022年05月26日
82 阅读
0 评论
0 点赞
2022-05-24
filter的基础用法
filter的基础用法对于列表(或其他序列类型),如果希望从中筛选出满足某个约束条件的子列表,我们一般的做法是使用一个for循环遍历每个元素然后执行相同约束条件判断,将满足条件的放入新的子列表中。例如,从列表中找出所有偶数子列表,并按对应的先后顺序放入子列表中:a = [1, 2, 3, 4, 5] b = [] for i in a: if i % 2 == 0: b.append(i)那么如果使用filter的话,使用filter函数使得代码变得更简洁:a = [1, 2, 3, 4, 5] def check(i): return i % 2 == 0 b = list(filter(check, a))示例content = "### #123 #234#568 #566#569#565#568" listdata = [i.strip() for i in content.split("#")] c = list(set(filter(lambda o: o, listdata))) print(listdata) print(c) # 输出 ['', '', '', '', '123', '234', '568', '566', '569', '565', '568'] ['566', '569', '565', '234', '123', '568']
2022年05月24日
76 阅读
0 评论
0 点赞
2022-05-24
对列表内的字典进行排序
降序排序alldate = [{'学号': 2.0, '姓名': '李四', '科目': '数学', '成绩': 77.0}, {'学号': 3.0, '姓名': '王五', '科目': '数学', '成绩': 78.0}, {'学号': 1.0, '姓名': '张三', '科目': '数学', '成绩': 90.0}, {'学号': 3.0, '姓名': '王五', '科目': '英语', '成绩': 76.0}, {'学号': 1.0, '姓名': '张三', '科目': '英语', '成绩': 90.0}, {'学号': 2.0, '姓名': '李四', '科目': '英语', '成绩': 91.0}, {'学号': 1.0, '姓名': '张三', '科目': '语文', '成绩': 88.0}, {'学号': 3.0, '姓名': '王五', '科目': '语文', '成绩': 88.0}, {'学号': 2.0, '姓名': '李四', '科目': '语文', '成绩': 89.0}] # 升序排序将reverse去掉即可 alldate.sort(key=lambda x: (x['成绩']), reverse=True) # alldate.reverse() print(alldate)多条件排序alldate.sort(key=lambda x: (x['成绩'], x['科目'])) # 按照科目和成绩进行双排序
2022年05月24日
24 阅读
0 评论
0 点赞
2022-05-09
Python *args和**kwargs
我们知道splat运算符解包多个值,并且知道函数参数有两种类型。若现在还未弄明白,那么可以将*args理解为变元的缩写,而**kwargs理解为关键字变元的缩写。各参数用于解压其各自的变元类型,允许使用可变字长变元列表进行函数调用。例如,创建一个函数表示学生的考试分数。def printScores(student,*scores): print(f"Student Name:{student}") for score in scores: print(score) printScores("Jonathan",100, 95, 88, 92, 99) """ Student Name: Jonathan 100 95 88 92 99 """噢,等等,我并未称呼其为*args?是的,“args”是一个标准化规范,但仍然只是一个名称。事实上,在*args中,唯一的星号是真正的参与者,创建了列表,其内容则是来自函数调用的位置参数(在这些定义变元后)。这些理清楚之后,**kwargs就很容易理解了。名称并不重要,重要的是双星号创建了字典,其内容是关键字参数,来自函数调用(在这些定义变元后)。为了更好地演示,我们创建一个函数,输出参加全国英语等级考试的人员名单。def printPetNames(owner,**pets): print(f"Owner Name:{owner}") for pet,name in pets.items(): print(f"{pet}:{name}") printPetNames("Jonathan", dog="Brock",fish=["Larry", "Curly", "Moe"],turtle="Shelldon") """ Owner Name: Jonathan dog: Brock fish: ['Larry', 'Curly', 'Moe'] turtle: Shelldon """
2022年05月09日
21 阅读
0 评论
0 点赞
2022-04-20
Python定时器
import threading import datetime def run(): print(datetime.datetime.now()) timer = threading.Timer(1, run) timer.start() # 这里才开始运行 if __name__ == '__main__': tq = threading.Timer(1, function=run) # 这里是创建线程 tq.start()
2022年04月20日
28 阅读
0 评论
1 点赞
1
2