22.7 Python 和 VS Code

Python

在 FreeBSD 中,不同的 Python 版本被分开封装。意思是说,Python3.11 和 Python3.13 属于不同的包,如 Port lang/python310lang/python311lang/python312

在不同时间节点,FreeBSD 的 Ports 对于不同版本的 Python,其 pkg 包管理器构建的二进制包的支持力度也是不同的。比如在当下,lang/python(他实际上只是一个元包,即指向其他软件)可能指向的是 Python 3.11,那么自然其他的,你使用 pkg 安装的其他 Python 包(如 Python-XX)在默认情况下也是基于此版本构建的——包括其他依赖依赖 Python 的软件,他们依赖的 Python 版本亦如此。而那些基于最新的 Python 版本构建的 Python 包或软件,在 FreeBSD 上的支持力度可能没有那么完全(可能需要通过 Ports 构建或者直接没有)。

技巧

这类似于 Gentoo Linux 中的 Python USE。只要你指定了 Python 版本,那么所有基于 Python 的软件,其使用的 Python 版本就是你所选的这个。

所以想要安装 Python,我们建议你这样做:

  • 使用 pkg 安装:

# pkg install python devel/py-pip
  • 当然你也可以通过 Ports 安装:

# cd /usr/ports/lang/python/ && make install clean
# cd /usr/ports/devel/py-pip/ && make install clean

如果你要安装特定版本的 Python,推荐你一律使用 USE 全局指定 Python 的版本。

如何指定 Ports 编译的 Python 版本?

注意

实际上,归根结底 lang/python 指向的版本是由 USE 控制的。

假设 Python 现在默认的编译版本是 3.11,要改为 3.13:

# echo "DEFAULT_VERSIONS+= python=3.13  python3=3.13" >> /etc/make.conf

技巧

如果只设置了单个参数,那么出现警告是正常的,见 Bug 243034 - Mk/Uses/python.mk: WARNING when python version is set to non-default version in make.conf

/!\ WARNING /!\

PYTHON_DEFAULT must be a version present in PYTHON2_DEFAULT or PYTHON3_DEFAULT,
if you want more Python flavors, set BUILD_ALL_PYTHON_FLAVORS in your make.conf

参考资料

VS Code

  • 使用 pkg 安装:

# pkg install vscode
  • 或者使用 Ports 安装:

# cd /usr/ports/editors/vscode/ 
# make install clean

需要注意的是,以这种方式获取到的 VS Code 其实是 Code - OSS。Code - OSS 和 VS Code 的区别主要是许可证不一样和可用的闭源资源不一样,类似 Chromium 和 Chrome 的关系。有兴趣的人可以自己阅读原文

目前已知微软的 Python 插件,以及 LLVM 的 clangd 插件都能直接在 Code - OSS 运行,设置同步服务暂无法使用。

设置中文

最后更新于