当前位置: 首页 > news >正文

Pycharm 和虚拟环境的那些事?

背景:

我既有 python 又有Anaconda

Pycharm新建虚拟环境:

只说两种方式

通过Virualenv Environment新建:

这里我们勾选上 Make available to all projects ,之后点击🆗

然后可以发现只有非常少的包,因为没有勾选继承 编译器的包

 创建的虚拟环境一般目录如下: 
├── Lib
│   └── site-packages
├── pyvenv.cfg
└── Scripts
    ├── activate
    ├── activate.bat
    ├── Activate.ps1
    ├── deactivate.bat
    ├── pip3.23.exe
    ├── pip3.exe
    ├── pip.exe
    ├── python.exe
    └── pythonw.exe

去项目中选择新建的环境

 这个时候安装包  pip install pandas  (注意要重新开一个Terminal,尤其是切换了一次环境)可以发现

打开对应位置的Lib/site-packages文件夹可以发现安装成功了!

这里需要注意的是: 你在Terminal中输入的pip 就是Scripts/  文件夹下的pip (不是你要继承的那个pip 也不是环境变量里的pip, 而仅仅是你新建环境下的pip)

1.安装包:

!!!!!!!!!!!!此时安装包 一律用 pip ,不用conda,因为这个环境不是conda创建的, 你conda 安装的包 是直接安装到了conda基础的那个环境(假设你已经安装了conda,并且没有conda新的环境)

换句话说,你的Terminal 实际上 帮你执行了 Scripts\activate 你这个环境,你的terminal是在你的虚拟环境里,只有pip 没有conda

2.删除:

删除环境直接把文件夹删除就行.

Conda创建环境:

这个时间比较长,要等很久.

输入相关命令可以发现conda已经安装了些许包:

在Pycharm 中的Terminal 中,也可以发现 项目的Terminal是默认进入了新的虚拟环境了的

直接conda install xx 安装的位置是:  

\envs\环境名字\Lib\site-packages\   

pip install  xx 安装位置是:

同上

默认安装包的位置 都是Lib\site-packages\   

所以

通过上面我们可以得到,以后Conda创建的环境先用conda 再用pip,  与 Virualenv 不同.

安装包:

我觉得这个博主讲的非常好:Python】conda镜像配置,.condarc文件详解,channel镜像文章浏览阅读3w次,点赞56次,收藏204次。安装miniconda即可,Miniconda 安装包可以到下载。.condarc是conda 应用程序的配置文件,在用户家目录(windows:C:\users\username\),用于管理镜像源。_.condarchttps://blog.csdn.net/Code_LT/article/details/134928013

离开进入环境

 activate xxx

conda deactivate     只deactivateu是会有点问题的

删除环境

conda remove -n  xxxx  删除某个包

conda env remove -n env_name   删除环境

conda常用命令:

# 获取版本号
conda -V# 获取帮助
conda -h# 环境管理命令帮助
conda env -h# 列举所有环境
conda info --env
conda env list# Python创建虚拟环境
conda create -n your_env_name python=x.x# 复制某个环境
conda create --name new_env_name --clone old_env_name 
# 彻底删除旧环境,则可以实现重命名环境
conda remove --name old_env_name --all      # 注意:必须在base环境下进行以上操作,否则会出现各种莫名的问题。# 激活或者切换虚拟环境
Windows: activate your_env_name
Linux:  source activate your_env_nam# 关闭虚拟环境(即从当前环境退出返回使用PATH环境中的默认python版本)
Windows: deactivate  或者 activate root 切回root环境
Linux:source deactivate # 删除虚拟环境
conda remove -n your_env_name --all# 删除环境钟的某个包
conda remove --name $your_env_name  $package_name # 列举包
conda list
conda list -n your_env_name # 列举非当前活跃环境下的所有包# 安装包
conda install  [package]
conda install -n your_env_name [package] # 安装非当前活跃环境下的包
conda install --channel https://conda.anaconda.org/anaconda tensorflow=1.8.0 # 指定版本和channel
# 升级包
conda update [package]      
conda update conda          # 升级conda# 查找包
conda search -h # 查看search使用帮助信息
conda search tensorflow  # 查看指定包可安装版本信息命令
conda search llama-index --channel conda-forge #指定频道搜索
# 卸载包
conda uninstall [package]   # 卸载xxx文件包# 清理包
conda clean -p      //删除没有用的包 # 这个命令会检查哪些包没有在包缓存中被硬依赖到其他地方,并删除它们
conda clean -t      //删除tar包
conda clean -y --all //删除所有的安装包及cache# 分享环境
activate target_env # 进入要分享的环境
conda env export > environment.yml # 当前工作目录下生成一个environment.yml
conda env create -f environment.yml # 拿到environment.yml文件后,将该文件放在工作目录下,可以通过以下命令从该文件创建环境

总结:  

Virualenv Environment和Conda区别:

Virualenv Environment创建的虚拟环境是比conda创建的环境在   打包整个项目(pyinstaller)时候  最后那个整个文件夹(包含exe 以及配套的一些依赖)要小很多很多的. conda 打包的文件都是800M 900M.

venv和virualenv 区别:

取自官方文档:https://packaging.python.org/en/latest/tutorials/installing-packages/#creating-virtual-environments

virualenv应该是被Pycharm默认集成了.

http://www.lryc.cn/news/403606.html

相关文章:

  • rancher2里面的containerd的使用
  • Python数据风险案例54——人工智能热门概念股爬虫分析其价值(三因子模型)
  • 【HarmonyOS开发】Navigation使用
  • 计算机网络参考模型与5G协议
  • docker自建rustdesk-server远程桌面
  • 海外抖音黑屏是网络问题还是硬件问题?
  • 为了实现接口缓存,专门写了个缓存库 f-cache-memory
  • actual combat 35 —— es
  • android R ext4 image打包脚本介绍
  • 美式键盘 QWERTY 布局的来历
  • ETL数据同步之DataX,附赠一套DataX通用模板
  • [论文笔记] CT数据配比方法论——1、Motivation
  • 某4G区域终端有时驻留弱信号小区分析
  • 【体外诊断】ARM/X86+FPGA嵌入式计算机在免疫分析设备中的应用
  • Linux上启动和停止jar
  • 浏览器缓存:强缓存与协商缓存实现原理有哪些?
  • 持续集成04--Jenkins结合Gitee创建项目
  • 【Node.js基础02】fs、path模块
  • 牛客TOP101:单链表的排序
  • 数据可视化配色新工具,颜色盘多达2500+类
  • SpringAI简单使用(本地模型+自定义知识库)
  • 为什么要从C语言开始编程
  • [数据集][目标检测]导盲犬拐杖检测数据集VOC+YOLO格式4635张2类别
  • 数据结构(稀疏数组)
  • python 爬虫技术 第02节 基础复习
  • 数据结构-C语言-排序(3)
  • 【分布式事务】怎么解决分布式场景下数据一致性问题
  • C# 中的委托
  • 通过docker构建基于LNMP的WordPress项目
  • 2024新版IntelliJ IDEA修改包名 全网最简单最粗暴的方法