前端人的 Python、Conda 环境搭建

前言

许多 AI 相关的项目、游戏辅助工具都使用 Python 语言开发,迫使我开始接触 Python 的环境搭建。作为一个前端人,我已经对 Node.js、NVM、NPM 等工具再熟悉不过了,但搭建 Python 的过程中还是碰到了不少困难,在此记录一下,让和我一样的前端人能更快地理解 Python 的生态体系。

Python 生态

  • Python: Python 解释器和运行时环境,对应前端体系中的 Node.js,官网 www.python.org
  • Pip: Python 的包管理工具,对应前端体系中的 NPM,官网 pypi.org
  • Conda: 用于管理 Python 环境,对应前端体系中的 NVM,但又略有区别

NPM 在安装项目依赖时,会安装在项目的 node_modules 目录下,也就是局部安装,各个项目之间互相不影响,而 Pip 则是默认装在全局,这和前端的思维不一致。装在全局会造成多个项目的管理不便,各个项目之间依赖冲突、相同依赖的不同版本无法同时存在。

为了解决这个问题,Conda 就出现了,它可以创建完全隔离的多个不同的 Python 环境,每个环境可以指定不同的 Python 版本,每个环境所安装的依赖也相互隔离。

阅读更多

给 Parsec 设置代理,解决国内无法打开、无法登录、无法刷新的问题

Parsec 一直是我用过的体验最好、最流畅的远程串流软件,它能实现几乎无感的远程体验,配置上也比 Sunshine + Moonlight + 内网穿透的方案要简单得多。Parsec 只需要一个软件就能实现点对点远程。同时它也是 macOS 上我用过的最好用的远程被控端。

但最近这个软件无法正常打开了,原因是国内无法访问 Parsec 的服务器。对此,我们可以寻找一台可以正常连接 Parsec 的代理服务器,这里以 127.0.0.1:7890 为例,让 Parsec 恢复正常使用。

为 Parsec 配置代理以后,Parsec 只会在启动、登录、刷新电脑列表、建立连接时使用代理服务器,实际串流仍然不经过代理服务器,而是使用点对点连接,所以不用担心代理服务器对串流性能造成影响!

阅读更多

京东云后羿无线路由器测评

我家有一台用了几年的 Redmi AX6 路由器,但一直有一个问题,就是 5G 信号无法完全覆盖 100 多平米的空间,离得远了,信号就会降级到 2.4G。我家装修时网线走的是暗线,每个房间都有一个网线接口,其实再买一台路由器,组个有线回程的 mesh 就能解决,但我对网速的需求并不那么强,所以这件事就一直搁置着。

直到最近,京东云无线路由器搞活动,AX3000 的后羿直接降到白菜价,我毫不犹豫地花 89 买下。

阅读更多

如何使用 yarn 或 pnpm 安装 sqlite3

Node.js 项目安装 SQLite 时需要下载预编译 bundle,默认是从 github.com 下载的,下载失败会走 node-gyp 本地编译,本地编译一般会因为缺少 Python、Visual Studio、Xcode 等环境而报错,所以需要配置镜像地址。

阅读更多

Node.js 版本与 ABI 版本对照表

因为下载 node-sass 的 binding.node 预编译二进制包时,发现网上竟然搜不到 Node.js 版本与 ABI 版本的对应关系,所以自己整理一份吧,数据来自三个地方,我做了整合:

  1. https://github.com/sass/node-sass/blob/master/lib/extensions.js
  2. https://github.com/electron/node-abi/blob/main/abi_registry.json
  3. https://github.com/electron/node-abi/blob/main/index.js
阅读更多
微信二维码