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

相关推荐
“AI国潮设计-小江”5 小时前
《Python+SDXL实战:用ControlNet精准控制“英歌舞翻糖吐司”构图,附批量生成脚本》
开发语言·人工智能·python·prompt·aigc
程序喵大人5 小时前
【C++入门】编译链接模型 - 01 一个 C++ 程序是怎样变成可执行文件的
开发语言·c++·编译链接模型
wenwen_chao6 小时前
Python学习与开发资源合集:实用技巧与工具推荐
python
for_ever_love__7 小时前
函数——参数、lambda、*args与作用域
python·函数·大模型开发·编程基础
东莞市云毅网络有限公司7 小时前
企业资料时效性判定:Last-Modified、正文日期与版本字段三路交叉
python·sqlite·自动化运维·geo·数据监测
Query*7 小时前
深入浅出LangGraph【一】_基础篇
python·ai·langchain
sunshine22 girl7 小时前
Java学习七 Java 项目实战1-项目创建和主页面搭建
java·开发语言·学习
XiaoMaqqqq7 小时前
市面上正规的IP驱动产业新场景新工具哪家强
运维·python·网络协议·tcp/ip
菜鸟~noob2337 小时前
【电子战】第三季预告—波武器与电子系统强力毁伤
开发语言·数据库·matlab·电子战
ShyanZh8 小时前
【Python3基础】19-Socket 与 TCP、UDP 编程
python·网络协议·tcp/ip·udp