关于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 确认

相关推荐
FreakStudio2 小时前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
用户0332126663673 小时前
使用 Python 从零创建 Word 文档
python
Csvn8 小时前
Python 两大经典坑点 —— 可变默认参数 & 闭包延迟绑定
后端·python
曲幽9 小时前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
用户5569188175311 小时前
#从脚本到独立程序:Python + Playwright 批量抓取的完整踩坑记录
python·自动化运维
兵慌码乱1 天前
基于 MediaPipe 与 PySide2 的手势交互音乐控制系统实现:轻量化视觉交互全流程解析
python·opencv·计算机视觉·人机交互·手势识别·mediapipe·pyside2
luckdewei1 天前
FastAPI 资产管理系统实战:复杂 ORM 关联、Alembic 迁移与 N+1 查询优化
python
aqi001 天前
15天学会AI应用开发(八)使用向量数据库实现RAG功能
人工智能·python·大模型·ai编程·ai应用
Csvn1 天前
`functools.lru_cache` —— 一行代码搞定缓存加速
后端·python