22.7 Python 和 VS Code
Python
在 FreeBSD 中,不同的 Python 版本被分开封装。意思是说,Python3.11 和 Python3.13 属于不同的包,如 Port lang/python310
、lang/python311
、lang/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 运行,设置同步服务暂无法使用。
设置中文


最后更新于