Python 项目和虚拟环境

以下内容适用于本人的 Mac OS。部分代码不适合直接作用在 Windows 或者其他系统。

1. 项目

项目(Project)一般是一群文件的集合。

其作用是第二次打开项目后不用重新寻找文件路径,直接回到上次文件目录位置,并且打开上次打开的那几个文件。从而帮助恢复到上次的工作状态。

因此,应该为每个项目创建一个独立的文件夹和目录。或者使用 VS code 直接打开某个文件夹,VS Code会自动将该文件夹识别为一个 Workspace。

2. 虚拟环境

虚拟环境是一个库和包的集合。 其作用是为不同的项目提供不同的“工具箱”。

可以为每一个项目单独创建一个虚拟环境,来保证该项目只调用该虚拟环境中的库和包,从而保证该项目和其他项目之间的库和包版本不会互相冲突。

但是因为 数据分析 常用的包和库比较固定,所以可以只配置一个虚拟环境然后将多个项目都链接到该虚拟环境

创建虚拟环境

使用虚拟环境

Python 解释器的选择

计算机无法认识什么是环境,系统只认识路径。因为环境是一个抽象的概念,是一群文件和文件夹的组合。因此,选择一个虚拟环境其实是选择那个环境中(也就是文件夹中)包含的 Python 解释器。

.venv 文件夹中,一般会有一个 Python 解释器的拷贝或者是快捷方式。选择该文件夹下的 .../.venv/bin/python3.11 解释器即可使用该虚拟环境。

一台电脑上通常有多个 Python 解释器。可以通过文件夹名称来判断某个 python 解释器位于什么环境中。一般来说,Mac OS 存在于 usr/bin/... 目录下的程序是系统内置程序。比如,位置在 usr/bin/python3 意味着系统内置 python。

系统内置Python是为了维持系统运行的,最好不要对其进行任何改动,也不用来做数据分析。

3. 总结

目前不使用系统自带的 Python 解释器,也不使用 Spyder 自带的 Python 解释器。主要使用 Homebrew 安装的 /opt/homebrew/bin/python3 Python 解释器。

4. 备注

确认电脑上已经存在的程序版本

python --version: 确认 python 2 的版本
python3 --version: 确认 python 3 的版本
ruby --version
git --version

确认目前默认使用的各个程序的存储位置

which python
which python3
which ruby
which git

Homebrew

可以用
brew list
brew list | grep python
来查看安装了的内容。

在终端激活虚拟环境

首先进入到需要的文件夹,比如文件夹名为 MyProject
cd ~/Documents/Python/MyProject
这里的 ~ 是一个快捷方式,代表你的用户主目录(例如 /Users/你的用户名)。

然后使用
source .venv/bin/activate
激活虚拟环境.

安装spyder-kernels包
pip install spyder-kernels

deactivate 退出虚拟环境

在你的项目文件夹中,ls -a 命令可以列出所有文件和文件夹,方便你确认 .venv 是否存在。
ls 表示list,列出所有文件和文件夹,除了被隐藏的。ls -a 表示列出包括被隐藏的,所有的文件和文件夹。

虚拟环境打包

显示当前环境中已经安装的包
pip list

数据分析完成时,或者将自己的代码分享给别人时,可以通过
pip freeze > requirements.txt
代码,来生成一个本环境中所有的库和包的list。

其他人拿到之后,只需要执行
pip install -r requirements.txt
就能根据这个list自动下载所有的包和库,重建一个同样的环境