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 😃