赞
踩
VSCode 最佳实践系列:
自从微软推出了 LSP 语言服务协议(Language Server Protocol)后,每种编程语言只需实现一个 Language Server 后端,就可以为任何支持 LSP 协议的 IDE/Editor 提供代码高亮、自动补全、导航重构等功能,而不必为每一个 IDE/Editor 重复开发上述组件。实际上,LSP 和 DAP 的出现正在让 IDE 和编辑器的界限越发模糊。
截止到 2022 年,开源社区已经涌现出一大批优秀的 Language Server 实现,它们在各自领域已经拥有了接近甚至超越商业化 IDE 的功能:
目前支持 LSP 协议的 IDE/Editor:
Pyenv 是用来管理不同 Python 版本的工具,通过它你可以在操作系统中安装多个不同版本的 Python 并随意切换。
Pyenv 仅支持 Linux 和 Mac OS,Windows 平台可以使用 Pyenv-win 项目,或者直接使用 WSL 2。笔者推荐后者,因为本地的 Pyenv-win 和 WSL 中的 Pyenv 有可能冲突,考虑到 Python 的 Linux 生态优于 Windows,建议尽可能把开发环境搬进 WSL:
curl https://pyenv.run | bash
首先安装 Xcode Command Line Tools(如果你之前没装过):
xcode-select --install
然后安装 Mac OS 的包管理器 Homebrew(参考笔者关于 C++ 的那篇文章),最后安装 Pyenv:
brew update
brew install pyenv
首先,在终端运行以下命令,将相关内容添加到 ~/.bashrc
文件中:
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
然后,如果你有 ~/.profile
、~/.bash_profile
或 ~/.bash_login
,也将相关内容添加到那里。如果没有这些文件,请添加到 ~/.profile
文件中。
~/.profile
:echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.profile
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.profile
echo 'eval "$(pyenv init -)"' >> ~/.profile
~/.bash_profile
:echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc
笔者使用 Fish Shell
对于 Fish 3.2.0 或更新版本,直接在终端执行以下命令:
set -Ux PYENV_ROOT $HOME/.pyenv
fish_add_path $PYENV_ROOT/bin
否则执行:
set -Ux PYENV_ROOT $HOME/.pyenv
set -U fish_user_paths $PYENV_ROOT/bin $fish_user_paths
最后将以下命令写进 ~/.config/fish/config.fish
文件中:
pyenv init - | source
在使用 Pyenv 安装任何 Python 版本之前,必须装好 Python 的构建依赖。
brew install openssl readline sqlite3 xz zlib tcl-tk
sudo apt update; sudo apt install build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev curl \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
如果你要从源代码构建 PyPy 或安装其他需要 Clang 的 Python 版本,还需要安装 llvm。
其它发行版请参考官方文档:
笔者建议不使用 Linux 系统自带的 Python 进行开发,而是通过 Pyenv 安装一个自己需要的版本,运行 pyenv install -l
命令查询所有可安装的 Python 版本。
笔者选择安装 Python 3.11.8:
pyenv install 3.11.8
启用 Python 3.11.8:
pyenv global 3.11.8
然后执行 pyenv versions
命令查看操作系统中所有的 Python 版本:
星号表示目前全局启用的是 3.11.8 版本而非系统自带版本
Mac OS 直接通过包管理器更新,Ubuntu 运行 pyenv update
命令更新:
在设置全局 Python 之后,最好不要直接 pip 安装软件包,建议创建一个虚拟环境,在其中安装需要的包。
以 Triton 为例,这是 OpenAI 开发的用于编写高效定制深度学习基元的语言和编译器。Triton 的目标是提供一个开源环境,以比 CUDA 更高的生产率编写快速代码,同时比其他现有 DSL 具有更高的灵活性。
首先在合适的位置新建名为 venvs
的文件夹,它用来存放你之后要构建的虚拟环境:
mkdir venvs
cd venvs
然后在 venvs
文件夹中构建名为 triton
的虚拟环境:
python -m venv triton
然后 venvs
中就多了名为 triton
的虚拟环境,其中包含 bin
、lib
等文件夹:
bin
文件夹里有激活该虚拟环境的一系列脚本
运行 activate.fish
脚本激活这个虚拟环境(笔者是 Fish Shell):
source venvs/triton/bin/activate.fish
这样你的 Shell Prompt 会发生变化:
此时运行 which python
和 which pip
命令会发现它们位于你新构建的虚拟环境 triton 目录
接下来使用 pip install xxx
命令只会在虚拟环境中安装软件包,不会影响全局的 Python 和 pip。
Python Environment Manager 插件能方便你查询当前 VSCode 工作空间中使用的 Python 环境和操作系统中所有可用的 Python 版本和虚拟环境(下图中 Global 3.10.12 指系统自带的 Python,并不是你通过 Pyenv 设置的全局 Python)
在 settings.json 中设置 Python 虚拟环境路径(venvs 文件夹路径):注意 WSL 有自己的 settings.json:
这样你就可以在 VSC 右下角为当前打开的项目选择需要的 Python 版本/虚拟环境:
以上就是“Visual Studio Code 配置 Python 虚拟环境的最佳实践”的全部内容,希望对你有所帮助。
关于Python技术储备
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python必备开发工具
三、Python视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、Python练习题
检查学习结果。
六、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
最后祝大家天天进步!!
上面这份完整版的Python全套学习资料已经上传至CSDN官方,朋友如果需要可以直接微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。