windows11使用pycharm连接wsl2开发基于poetry的python项目

windows11使用pycharm连接wsl2开发基于poetry的python项目

背景:公司开发的python项目用到了某个只提供了Linux版本的包,遂研究了一番如何在windows环境下进行开发。

  1. windows安装 wsl2
  2. 进入到wsl2中,安装对应的python版本,建议使用pyenv,下面以3.10.14版本为例子。 pyenv安装方法可以参考这里
  • 安装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 
  1. 安装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正常打开项目,进入项目设置:
windows11使用pycharm连接wsl2开发基于poetry的python项目

点进去之后,选择【Virtualenv 环境】并根据上面提到的【poetry env info -p】命令获取到的解释器目录找到解释器,点击【确定】,设置完就大功告成。
windows11使用pycharm连接wsl2开发基于poetry的python项目

ps. 上述设置完毕正常来说已经可以正常调试启动项目,可能会有部分包的问题,逐个排查即可, good luck 😃

发表评论

相关文章