数据科学工具链(numpy,pandas)

Uncategorized
3.7k words

前言

上次在安装numpy和pandas过程中出现了各种各样的困难,到最后发现可能是自己安装了好几个python而且不在同一个盘导致调用错误,安装的时候发生了混乱,今天接着上次继续学习。

下面这个链接是我和ChatGPT的聊天对话。

https://chatgpt.com/share/67f14d8b-62b4-8002-a8dd-a2a2e8710c39

首先我在cmd输入where python查到了我电脑中所有的python,如下:

前三个大概是我自己安装的,第四个就是在APPs里面的应该是电脑自带的,其中E盘的Anaconda是一个开源的 Python 发行版(专注于数据科学、机器学习和科学计算。它集成了常用的数据科学工具包,并提供强大的环境管理功能。)(应该可以当作一个加强版的python)(前段时间刚刚安装的)

ChatGPT给我的建议:

对于这么几个python我该如何随意调用(针对进入某个具体版本的python运行代码,如何创建进入虚拟环境待会介绍)呢?

在终端,如在cmd中,可以直接输入你想使用的版本的python所在文件位置。

1
2
# 打开cmd然后运行
C:\Python313\python.exe

如果看到类似以下界面就是进入了该python环境中

如果想在某个python环境下安装某个第三方库(如pandas),可以跑:

1
C:\Python313\python.exe -m pip install pandas

如果你想查看某个python环境下面是否安装了某个库,可以跑:

1
<python路径> -m pip show pandas

看到类似下面这个界面就说明已经安装了

如果输出为空或者提示:WARNING: Package(s) not found: pandas则说明没有安装。

基于上次某些资料让我修改第三方库的默认安装路径,我想了解以下:

如何修改Python 安装第三方包(如 pandas)的默认安装位置呢?

GPT给了我多种方法,如下(具体操作可以参考聊天对话)

我准备采用它强烈推荐的创建虚拟环境这一个方法。(它说是“是最推荐的现代做法!干净、隔离、不会乱装包,适合你未来做多个项目、玩 AI 或科学计算。”)

创建虚拟环境

首先简单介绍一下虚拟环境的作用:为每个项目创建一个“独立”的 Python 包环境,互不干扰,像“沙盒”一样。默认安装包的路径也就只在这个环境里。

今天了解到的有两种方式(不知道是不是还有其他方法),实际操作了一种。(实际上另一种前段时间学习安装pytorch框架的时候就已经实操过了,因为看到之前科研启蒙项目论文的项目的python环境是虚拟环境。但是当时只是跟着教程一步步傻瓜式操作,不知道自己创建了虚拟环境。)

下面开始介绍使用venv创建虚拟环境的操作。

具体操作流程(venv)

假设我想在D:\MyProjects\AIProject下创建一个虚拟环境

步骤一:打开命令行终端(cmd/PowerShell)(我使用的是cmd)

Win + R → 输入 cmd → 回车

步骤二:进入项目目录

1
2
cd D:
cd MyProjects\AIProject

步骤三:用指定的python创建虚拟环境

从你现有的几个python中选择,如想要使用C:\Python313\python.exe

1
C:\Python313\python.exe -m venv venv

这会在当前目录下创建一个名为 venv 的虚拟环境文件夹。

步骤四:激活虚拟环境

1
venv\Scripts\activate

激活后会看到命令提示符前多了一个 (venv)

1
(venv) D:\MyProjects\AIProject>

✅ 说明你现在已经进入了这个独立环境。

步骤五:在虚拟环境中安装包

比如,如果想要安装pandas包,可以输入:

1
pip install pandas

🔍 安装包会被放在:

1
D:\MyProjects\AIProject\venv\Lib\site-packages\

不会影响你电脑上的其他 Python 环境!

步骤六:运行你的程序

1
python myscript.py

运行的是虚拟环境里的 Python 和包。

步骤七:退出虚拟环境

当你用完这个环境时,输入:

1
deactivate

命令行提示符就会变回原来的,没有 (venv)

Questions

如果我在 C:\Python313 里已经安装了 pandas,还需要在虚拟环境里再装一次吗?

需要再安装一次

原因:

创建虚拟环境(venv)时,默认情况下它是完全隔离的,不会“自动继承”你全局 Python(比如 C:\Python313)已经安装的包。所以即使全局 Python 有 pandas,虚拟环境里也看不到。

❓怎么判断 numpy、pandas、matplotlib 是否安装成功?

方法之一:在虚拟环境中用 pip list

先激活虚拟环境(如果还没激活):

1
venv\Scripts\activate

然后输入:

1
pip list

✅ 如果你看到输出类似:

1
2
3
4
5
Package     Version
----------- -------
numpy 1.26.4
pandas 2.2.1
matplotlib 3.8.4

说明都安装成功了。

❓虚拟环境是不是每次用项目前都要打开?用完要退出?

是的

💡 使用前要激活:

1
venv\Scripts\activate

你会看到命令行变成这样:

1
(venv) D:\MyProjects\AIProject>

这个 (venv) 前缀说明你现在就在虚拟环境里了。
🛑 用完项目后建议退出虚拟环境:

1
deactivate

它会把环境变量恢复到系统默认,避免你误操作装错地方。

✅ 最终流程总结一下:

1
2
3
4
cd D:\MyProjects\AIProject
venv\Scripts\activate ← ✅ 激活环境
python my_script.py ← ✅ 执行你的项目代码
deactivate ← ✅ 用完后退出

如何在 VS Code / PyCharm 使用虚拟环境?

🟦 VS Code 设置虚拟环境

  • 打开你的项目文件夹(带有 venv/ 的)
  • Ctrl + Shift + P,输入:
1
Python: Select Interpreter
  • 找到并选择你项目下的这个路径:
1
**.\venv\Scripts\python.exe**

从此你在 VS Code 里按 F5 运行,或点击“Run”按钮,都会用你的虚拟环境。

🟥 PyCharm 设置虚拟环境

  • 打开 PyCharm 项目
  • 菜单栏 → FileSettings/设置Project: xxx/项目:Python Interpreter
  • 点击右上角**添加解释器** → Existing environment/选择现有
  • 浏览选择项目里的虚拟环境路径:
1
D:\MyProjects\AIProject\venv\Scripts\python.exe
  • ✅选择并保存即可。之后 PyCharm 就会用这个解释器来运行代码和安装包。

🟦 项目结构:是不是在D:\MyProjects\AIProject下创建各种该项目的具体文件夹文件然后运行就可以了,还是说只能有一个总的项目的文件夹?

✅ 总结先说结论:

完全可以在 D:\MyProjects\AIProject 这个项目文件夹下,创建各种子文件夹和 .py 文件,只要虚拟环境在项目根目录下,就都能用!

不需要只有一个 .py 文件,也不需要什么都堆在根目录,推荐你根据功能整理结构,越清晰越好!

✅ 项目结构推荐(举例)(GPT给的建议,超棒!!!)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
D:\MyProjects\AIProject\

├── venv\ ← 虚拟环境(不要动)

├── data\ ← 存放原始数据、csv 等
│ └── example.csv

├── scripts\ ← 存放你的各类处理脚本
│ └── analyze_data.py

├── utils\ ← 存放工具函数模块
│ └── plot_helper.py

├── main.py ← 主程序入口
├── run_project.bat ← 一键运行脚本
└── requirements.txt ← (可选)依赖列表
  • 不建议把虚拟环境 venv/ 放进子文件夹(比如 scripts/venv)→ 会让路径管理变得混乱
  • 项目文件夹越清晰,日后越容易维护、打包、迁移

今天先到这里,其实过程中GPT给了我好几个bonus,如自动检查依赖 + 激活环境 + 运行项目 的一键运行脚本;自动检测缺失包、自动激活环境的运行脚本等,但是我还没有具体去了解,看上去.bat文件好像是个功能比较大的文件类型,可以用来实现一些快捷方式,看上去比较有意思。除此之外我还浅浅问了一下venv创建虚拟环境和使用anaconda创建虚拟环境的区别,大致了解了一下,应该是conda创建虚拟环境更加灵活,venv仅限python环境,而conda支持Python,R,C/C++等多语言包,而且好像venv搭建pytorch框架会复杂更加困难,下次试着实操一下conda创建虚拟环境。加油!!

Comments