目录
问题二:error MSB8036: The Windows SDK version 10.0.19041.0 was not found.
问题一:ModuleNotFoundError: No module named '_socket'
一、编译python39源码步骤
- 去官网下载该版本的源码
官网地址:Python Releases for Windows | Python.org
解压缩后下载所需依赖
以管理员模式进入Python-3.9.16\PCbuild,执行get_externals.bat
- 编译
双击PCbuild/pcbuild.sln打开Visual Studio,找到解决方案下的python项目,右击,Build。
- 编译完成,将路径配置到环境变量
python --version查看python版本,显示如下即完成
二、安装pip
创建Scripts文件夹,进入Installation - pip documentation v23.1 (pypa.io)查看pip如何安装(本次采用get-pip.py进行安装,方法如下)
安装完后目录下会出现以下几个文件:
三、安装其他依赖包
D:\Python\Scripts\pip.exe install -i Simple Indexhttps://pypi.tuna.tsinghua.edu.cn/simple/ -r requirements.txt(requirements.txt内含需要的依赖包)
四、编译python39遇到的问题和解决方案
问题一:此应用无法在你的电脑上运行
解决方案:
Alt+R,按下后输入:regedit(如下所示)
在注册表编辑器中以下路径:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
在右边找到FilterAdministratorToken,双击后将数值数据改为“1”后点击“确定”。
注意:如果右边没有这一项的话则需要我们手动添加,右侧空白处点击鼠标右键,新建 DWORD(32位)值,并更名为FilterAdministratorToken,将其数值数据改为1。
改完了之后,还要改另外一个,也是一样,依次找到:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System \UIPI
右边有个默认的项。将它的值改成1。
改完以后重启电脑即可。
问题二:error MSB8036: The Windows SDK version 10.0.19041.0 was not found.
解决方案:
点击解决方案,右键选择重定向目标解决方案,会有以下弹窗,点击确定。
五、安装遇到的问题和解决方案
问题一:ModuleNotFoundError: No module named '_socket'
解决方案:下载python3913版本进行安装,将安装好的依赖包复制到python3916下即可。
问题二:ReadTimeoutError
解决方案一:使用 -i 参数用于指定源
pip install -i Simple Index numpy
阿里源:Simple Index
解决方案二:设置延迟时间
使用 –default-timeout 设置延迟超时时间
pip --default-timeout=1000000 install -U numpy
问题三:opencv-python已安装报错找不到CV2
解决方案:下载对应版本的opencv
下载地址:Links for opencv-python (tsinghua.edu.cn)
我选择下载了opencv_python-4.5.4.60-cp39-cp39-win_amd64.whl(
cp对应python版本)
参考文献
(51条消息) python此应用无法在你的电脑上运行_此应用无法在你的电脑上运行是怎么回事?..._weixin_39885067的博客-CSDN博客
(51条消息) pip报错ReadTimeoutError的解决方法_pip readtimeouterror_荒原狼Just的博客-CSDN博客