关于conda

一、背景

虽然很早之前就用anaconda或者 miniconda,但是只是配置了些基础环境,然后用用jupyter,在实战中,比如打开一个pycharm文件,选择的解释器还是python3.12这样。对于conda create -n xx 比较不熟,且大家都是直接一个requirments.txt文件,所以也就那样。补充:uv下载也很火~

不过其实直接python也能创建虚拟环境,主要区别是在下载某些包时,会缺少一些底层CTL这种拓展,而conda就能很好避免。

二、添加新的虚拟环境

  1. 点右上角 ⚙️ 齿轮 → Add...
  2. 左侧选 Virtualenv EnvironmentJetBrains
  3. 右侧选 New environment (新建)
    • Location :默认会填到项目里的 .venv 文件夹,直接用默认就行
    • Base interpreter :选你电脑上的 Python 3.12
    • 不要勾选:Inherit global site-packages(继承全局包)JetBrains
  4. OK → PyCharm 自动创建虚拟环境JetBrains

三、切换并生效

  1. 回到 Python Interpreter 页面,下拉框里选中刚创建的 .venv 解释器
  2. Apply → OK
  3. 底部 Terminal 会自动切换到虚拟环境(左边显示 (.venv)

四、把原来的依赖装到新环境(关键)

  1. 打开底部 Terminal

  2. 先看全局装了哪些包(可选):

    复制代码
    pip list
  3. 把你项目需要的包重新装一遍(只装项目用的):

    复制代码
    pip install 你的包名1 你的包名2 ...
    # 例如:
    pip install django requests pandas
  4. 生成依赖清单(以后发给别人用):

    python 复制代码
    pip freeze > requirements.txt

但是可能包含一些你项目并不需要的包(例如开发工具或其他项目的依赖)

使用 pipreqs 工具

pipreqs 是一个工具,它可以扫描你的项目目录,自动生成项目所需的依赖列表。

  1. 安装 pipreqs:

    pip install pipreqs

  2. 在项目根目录运行以下命令:

    pipreqs ./ --encoding=utf8 --force

    • ./ 表示当前目录。
    • --encoding=utf8 确保支持 UTF-8 编码。
    • --force 强制覆盖已有的 requirements.txt 文件。
  3. 生成的 requirements.txt 文件会类似于:

    flask==2.3.2 numpy==1.21.0 pandas==1.3.5 requests==2.26.0

五、验证是否成功

  • Terminal 左边显示 (.venv)
  • 运行代码,不再依赖全局 Python
  • 以后装包只会装在 .venv 里,不会污染全局

六、规范环境

注意点:有时候conda会强制使用它的conda,就会显得很乱,建议命令行安装,如下:

第 1 步:打开终端(就是你现在用的这个)

确保前面是 (base)

复制代码
(base) C:\Users\19319>

第 2 步:直接输入这条命令(复制粘贴)
复制代码
conda create -n qixiang python=3.12

y 确认

相关推荐
心中有国也有家1 小时前
GE图引擎深度解析——CANN的计算图优化与执行引擎
人工智能·pytorch·python·学习·numpy
卷毛的技术笔记2 小时前
告别硬编码!Spring AI Alibaba 实现 AI Agent 智能工具调用(Tool Calling)
java·人工智能·后端·python·spring·ai编程
编程大师哥2 小时前
匿名函数 lambda + 高阶函数
java·python·算法
isyangli_blog2 小时前
OpenDayLight (Carbon 版本) 启动与组件安装
开发语言·php
vb2008112 小时前
FastAPI APIRouter
开发语言·python
Benszen2 小时前
KVM虚拟化解决方案
开发语言·perl
会编程的土豆2 小时前
Go 语言反射(Reflection)详解
开发语言·后端·golang
東雪木2 小时前
多线程与并发编程 专属复习笔记
java·开发语言·笔记·java面试
adrninistrat0r2 小时前
Java调用链MCP分析工具
java·python·ai编程
杨充3 小时前
1.3 浮点型数据设计灵魂
开发语言·python·算法