zoukankan      html  css  js  c++  java
  • 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 *

    结果证明是可以的:

     

  • 相关阅读:
    Java String, StringBuffer和StringBuilder实例
    java中字符串的比较
    java中子类继承父类时是否继承构造函数
    Java中抽象类和接口的用法和区别
    与(&)、非(~)、或(|)、异或(^)
    Linux03
    Linux02
    Linux01
    力扣算法题
    算法 栈、队列、二分查找
  • 原文地址:https://www.cnblogs.com/watalo/p/13703147.html
Copyright © 2011-2022 走看看