windows11使用pycharm连接wsl2开发基于poetry的python项目
背景:公司开发的python项目用到了某个只提供了Linux版本的包,遂研究了一番如何在windows环境下进行开发。
-
安装python之前确认安装好下面的库,不然安装完会缺失部分python基础库:
sudo apt-get update
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm
libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev如果不幸已经安装了缺少库的python,可以根据下面的命令重新安装
pyenv uninstall -f 3.10.14
再次安装正确的版本,记得先运行上面的类库安装
pyenv install 3.10.14
- 安装Pycharm Professional (只有专业版自带wsl连接),下面提供两种方式运行项目。
-
Pycharm提供了远程开发模式,ide界面跑在本地,代码运行在远程,可以直接连接到本机的wsl,目前是bate功能,启动起来比较麻烦,好处是可以直接配置wsl上面的poetry。
ps. 经过实践这种方式很耗资源,能直接把内存跑炸了 😃
-
Pycharm还是跑在本地,指定解释器为wsl里面的python解释器,但是pycharm没有提供使用wsl里面的poetry的选择,需要一点手动操作,方法来自:
进入项目所在目录,设置本地目录要用到的python版本
pyenv local 3.10.14
安装项目依赖
poetry install
查看目录解释器所在位置,设置pycharm项目解释器时要用到
输出例子:/home/tiger_linux/.cache/pypoetry/virtualenvs/serviceme-JDx4R2Ou-py3.10
poetry env info -p
如果项目已经创建了一个基于旧版本 Python 的虚拟环境,建议删除旧环境并创建一个新的:
列出所有虚拟环境
poetry env list
删除指定的虚拟环境(替换 <env_name> 为实际环境名称)
poetry env remove <env_name>
poetry env use $(pyenv which python)
poetry install
用pycharm正常打开项目,进入项目设置:
点进去之后,选择【Virtualenv 环境】并根据上面提到的【poetry env info -p】命令获取到的解释器目录找到解释器,点击【确定】,设置完就大功告成。
ps. 上述设置完毕正常来说已经可以正常调试启动项目,可能会有部分包的问题,逐个排查即可, good luck 😃