fish运行venv的坑
今天本来打算开始折腾ESP32结果我的esptool和我其他的python包冲突。于是我就去用venv创了一个虚拟环境来搞ESP32。结果发现我特么启动不了环境。他启动环境的文件是<venv>/bin/activate
,结果我的fish不兼容bash的语法就打不开这个bash的脚本,我换了一下bash的脚本果然跑起来了。But那个bash太捞了我看不上于是我就去网上搜,发现venv有fish版的脚本是bin目录下的activate.fish
。我兴致勃勃的跑去跑结果我的shell给我又报了错。。。。
1 | </> ~/G/EPS32 ./esp32/bin/activate.fish |
我一看,嗯?这不是和我运行bash的报错一样嘛?这就非常迷惑了。我就继续去网上找资料,我发现py官网居然有venv的文档。我在文档里看到一个教我启动脚本的,我输了一下那个命令,跑起来了。非常迷惑,那命令和我的差不多。就是多了一个空格,我也不知道是什么神仙操作。
顺便官方的各个平台运行虚拟环境方法的表格为下:
平台 | Shell | 用于激活虚拟环境的命令 |
---|---|---|
POSIX | bash/zsh | $ source |
fish | $ source |
|
csh/tcsh | $ source |
|
PowerShell Core | $ |
|
Windows | cmd.exe | C:> |
PowerShell | PS C:> |
另外官方文档对venv的介绍写的不错,里面教程感觉不错就顺便也贴这了(点我)
++++++
亿万年以后的补充:
现在py更新到了3.10版本,我按以前的方法来运行fish下的虚拟环境但是失败了。好在我把官方文档贴上面了,现在运行要使用scource
,我也对其进行了修改。