如何下载旧版本Python的安装包
本文介绍如何从Python官网中找到旧版本Python安装包的下载链接。
受限于一些第三方模块对新版本Python的支持问题,我们有时候不得不使用较旧版本的Python。但是Python官方对旧版本的支持通常是有限的,当你想在官网重新下载某个旧版本的安装文件时,会发现只能在Download页面找到它的security release或者bugfix release,而安装包已经找不到了。
以阿猪要找的Python3.9为例,在Download页面只能看到Python3.11的安装包下载链接,而Python3.9只能看到一个security release的下载链接。
点击这个security release的链接,可以在Files这里看到只有安全补丁的下载链接,没有安装包的下载链接。在No installers这里可以看到“…Python3.9目前进入‘仅提供安全补丁’的阶段…二进制安装程序已经不再提供…Python3.9.13是最后一个包含了二进制安装程序的bugfix版本”的提示。
答案就在这里了,在Python3.9.x中,3.9.13是最后一个包含了安 ...
如何为不同的Python项目自动选择不同的解释器
本文介绍在Windows下通过为特定的Python项目创建VS Code工作空间,从而实现为不同的Python项目自动选择不同的解释器。
一、需求场景 使用高版本的Python通常意味着更好的性能、新的特性、BUG的修复,但是受限于一些第三方库对新版本的支持问题,有时候不得不保留较旧版本的Python。这会产生一个小麻烦,即每次打开使用了不同解释器的项目时,都需要手动去重新选择Python解释器。 阿猪尝试了通过度娘、谷哥、ChatGPT找到的各种方法,包括在PY文件的头部添加shebang语句、在项目的.vscode文件夹内创建/修改launch.json、settings.json文件……,但都不起作用或者不满足需求。好在最后ChatGPT超常发挥,提供了一个“创建工作空间”的靠谱方法。
二、操作步骤 这里假设你的VS Code全局默认的Python解释器为Python3.11,A项目因为特殊原因需要使用Python3.8。
1、在VS Code中打开项目所在目录 首先打开A项目的根目录,在空白处点击鼠标右键,然后选择“通过Code打开”。此时VS Code会 ...
使用腾讯云函数搭建Web站点
本文记录阿猪使用腾讯云函数搭建Web站点的一些经验总结。
一、云函数运行web站点的原理 云函数是腾讯云基于Serverless的一款产品,一个函数实例相当于一个可以运行代码的容器环境,用户可以自定义内存容量等配置参数。 云函数支持用户自定义安装语言环境、版本、依赖环境,并内置对如下语言的支持:
语言
版本
Node.js
6、8(帮助文档未提及)10.15、12.16、14.18、16.13
Python
2.7、3.6、3.7
PHP
5.6、7.2、7.4、8.0
JAVA
8、11
云函数支持事件触发和HTTP请求触发两种触发方式。
在函数的根目录下有一个名为sfc_bootstrap的启动文件,它属于批处理文件。当一个函数被触发后,会逐行执行启动文件中的命令,从而达到既定的目的。云函数的所有应用场景都是基于这个基本原理。 一个基本的Serverless Web应用包含API网关、云函数这两个组件,用户可以根据需要添加CFS文件系统、COS对象存储、私有网络、Serverless数据库等额外的组件。 用于Web服务的云函数通 ...
WordPress CORS问题一例
本文记录阿猪在使用WordPress REST API为跨站应用做身份认证时遇到的一例CORS问题。经过一番折腾,最后发现问题出在使用的REST API Authentication插件在处理HTTP请求时与WordPress原生的REST API有重复。
在WordPress的原生REST API中,支持Cookie Authentication和Basic Authentication两种认证方式。然而目前比较主流的认证方式是Json Web Token(简称JWT)和OAuth2.0,需要借助第三方插件实现。以JWT为例,基本逻辑是使用POST方式向生成token的endpoint发送用户名和密码,如果用户名、密码正确,则返回的Headers中会包含token信息,后续使用REST API时,只要每次在Header中包含Authorization: Bearer <json-web-token>就可以了。
阿猪最先使用的是miniOrange出品的WordPress REST API Authentication插件。在WordPress中和在本地测试请求 ...
踩坑阿里云函数计算搭建WordPress
阿里云在社区应用中提供了现成的模板供用户快速创建一个基于函数计算+NAS存储的WordPress站点,服务器环境是基于Nginx+php,数据库是基于sqlite。本文记录阿猪使用阿里云的函数计算服务搭建WordPress的一些采坑过程。
一、部署站点 阿里云提供了命令行工具和在线部署两种部署方法,两种方法的核心原理是一样的。
方法1:使用s工具
对于喜欢使用命令行工具的用户,可以使用阿里云提供的serverless-devs工具(简称“s工具”)。具体教程请参考这里:基于函数计算快速搭建WordPress博客系统
请注意,教程中的服务器环境并不是必须的,你可以使用自己的本地Linux或者Windows环境完成同样的任务。
方法2:在线部署
阿里云也提供了更为简便的在线部署方法(也称“白屏化”方法),点击这里可以直接开始创建一个WordPress应用。
二、环境优化1、添加写权限 使用s工具中的模板安装完成后,会遇到WordPress无法通过管理后台升级、安装插件、模板的问题。这是因为缺少WordPress所在目录的写权限。 解决办法:打开函数计算的管理后台, ...
在AWS Amplify中部署Jekyll站点
Amplify是大名鼎鼎的AWS提供的Web和移动应用程序托管服务,按实际使用量付费,并提供12个月的免费试用(注意存储、构建和访问量过大可能会产生额外收费,详见定价页面)。本文介绍使用Amplify部署Jekyll站点的方法。
一、进入AWS Amplify 登录AWS的控制台,点击顶部右侧的“区域”,选择一个你喜欢的服务器地点。建议选择离我们地理距离相对较近的东京、香港、新加坡。实际测试中发现Amplify是提供CDN的,所以也不必太纠结选择哪个区域。 在顶部的搜索框中搜索“Amplify”,点击第一个搜索结果“AWS Amplify”,进入Amplify的控制台。接着滑动到页面的最下方,找到“托管Web应用程序”,点击“开始使用”。
二、指定代码仓 Amplify支持直接从GitHub、GitLab获取代码,也支持孤陋寡闻的阿猪从没听说过的BitBucket和AWS CodeCommit,还支持直接上传代码。 我们这里选择从自己的GitHub代码仓获取代码。点击“GitHub”,然后点击“继续”,跳转到GitHub的授权页面。 在授权页面中点击右下角绿色的“Auth ...
让Chirpy主题支持折叠展示代码块
使用Chirpy主题发表文章时,插入的代码块会全部显示出来。在代码行数比较多的情况下,读者的阅读体验会比较差。阿猪希望能实现CSDN博客那样的折叠展示效果。 经过一番折腾,终于搞定。先上效果图:
一、代码原型12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273<!DOCTYPE html><html lang="zh-cn"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-w ...
实现ChatGPT的文字输出效果
作为计算机业余爱好者,把网页做得美观高大上对阿猪是一种折磨和挑战,所以阿猪做出来的网页都是清一色的word文档风格。为了给low逼的网页提升点儿逼格,阿猪决定模仿一下ChatGPT的文字输出效果。 先上效果图:
以下是完整代码:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>ChatGPT Typing Effect< ...
python中使用'''注释代码后引起报错
'''是python中常用的代码注释符号,只需在代码段的开头结尾处分别插入'''即可实现跨行注释,很方便。
但是如果被注释的代码段中包含存在转义歧义的内容,则可能引起类似报错:SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 45-46: truncated \UXXXXXXXX escape
此时你可以尝试将开头的'''改为r''',即声明整个注释的代码不进行转义。
使用pandas_bokeh在地图上显示数据
本文记录阿猪使用pandas_bokeh的踩坑过程,供大家参考。
一、简介 pandas_bokeh集成了bokeh、geopandas等模块,除了可以绘制各类图表,还支持直接在地图上显示数据。效果举例如下:
详细介绍和具体用法请参考GitHub - Pandas-Bokeh
二、数据文件 pandas_bokeh的MapPlots方法只需要点坐标即可定位,支持直接从csv等常规文件中读取数据。但是功能更丰富的GeoPlots方法是基于GeoJson格式的数据的,需要从GeoJson文件中读取位置数据,如果直接向dataframe写入位置数据,则pandas_bokeh会在读取数据的时候报错Type Error: Unhashable type: 'list'。 对于type类型为Feature的GeoJson文件,官方给出的基本结构示例如下:
12345678910{ "type": "Feature", "geometry": { "type ...