VScode中无法导入自定义模块的问题——搭建虚拟环境
虽然网上有各种关于环境路径配置的教程,改setting.json或者launch.json,尝试了很多办法,但是并不能保证每次都不出问题。
这里想到了一个办法就是建立专属这个项目的环境。主要使用venv库(python3.3后自带),每个项目配置自己的虚拟环境,那么永远都是在python的根目录之下,你还怕个啥。是吧,根本就不用去添加PYTHONPATH和source包的路径。
1 venv的安装
在命令行输入:
python -m venv venv
在powershell(或者别的命令行)中执行以上命令,会在当前目录下生成一个 venv的目录:<当前目录>/venv。此时,venv文件夹中出现以下三个内容:
2 venv的使用
在venv/Scripts文件夹中有很多批处理和可执行文件:
里面有个:{activate}、{activate.bat}、{Activate.ps1}这3个东西。我手痒双击了下Activate.ps1,可以执行,出现下面这样的情况:
最下面一行前面有个绿色的 (venv) ,说明已经进入到了虚拟环境中了。
再重新梳理下正确的激活方式:
- 不同系统里输入不同的命令,主要就是上面提到的那“3个东西”,如果输入命令总是错误,那就直接双击,或者右键运行。
unix系统中: venv/Scripts/activate win的cmd中: venv/Scripts/activate.bat win的PowerShell: venv/Scripts/Activate.ps1
3 venv的停用
直接在命令行输入如下内容即可:
deactivate
4 测试下是否能导入自定义包
当前目录下,新建far文件夹,文件夹结构如下:
config.py的内容:
print('config.py 可以正常导入!')
para.py的内容:
print('para.py可以正常导入!')
在与far文件夹同级别的index.py中执行导入,代码如下:
from far import *
结果证明是可以的: