环境配置

1.8k words
阅读

记录一下我在配置各种环境的时候遇到的问题,以便未来再次遇到的时候能够快速解决。

tensorflow

安装tensorflow的时候,pip 找不到适配的 tensorflow 版本。

1
2
3
4
5
6
7
8
smiling@Smiling:~/csdiy/CS50_AI/Project5/traffic$ pip3 install -r requirements.txt

Defaulting to user installation because normal site-packages is not writeable
Collecting opencv-python (from -r requirements.txt (line 1))
Using cached opencv_python-4.11.0.86-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (20 kB)
Requirement already satisfied: scikit-learn in /home/smiling/.local/lib/python3.13/site-packages (from -r requirements.txt (line 2)) (1.6.1)
ERROR: Could not find a version that satisfies the requirement tensorflow (from versions: none)
ERROR: No matching distribution found for tensorflow

当使用

1
python --version

的时候以为自己已经调到了正确的python版本(这里我想从3.13调成3.12版本),但是实际上使用

1
pip3 -V

就可能发现,pip3还是用的python3.13

所以需要调整,解决方式:

创建并激活 Python 3.12 的虚拟环境

使用 venv 来创建一个基于 Python 3.12 的虚拟环境:

1
python3.12 -m venv myenv312

激活该虚拟环境:

  • 在 Linux 系统上:
1
source myenv312/bin/activate
  • 在Windows系统上:
1
myenv312\Scripts\activate

然后

1
pip3 -V

确保显示的是 Python 3.12 版本。

之后再使用

1
pip3 install tensorflow

就可以了。

之后在其他地方使用如果还出现问题,可能要再创建一个虚拟环境,使得python版本和tensorflow匹配。

之后再进入已创建的基于 Python 3.12 的 myenv312 虚拟环境,不同系统操作如下:

Linux 系统

打开终端,进入到包含虚拟环境目录(myenv312 所在目录),执行命令:

1
source myenv312/bin/activate

激活后,终端命令行开头会显示虚拟环境名称,如 (myenv312) user@hostname:~/your_directory$ ,表示已成功进入虚拟环境。

Windows 系统

打开命令提示符或 PowerShell ,进入到 myenv312 虚拟环境所在目录,执行命令:

1
myenv312\Scripts\activate

执行后,命令行开头会显示 (myenv312) ,如 (myenv312) C:\Users\your_username\your_directory> ,即成功进入虚拟环境。

python经典问题

有时候在安装了一个库之后发现还是识别不到,很可能是如下问题:

1
2
3
4
smiling@Smiling:~/physics-raudio$ pip3 --version
pip 25.1.1 from /home/smiling/.local/lib/python3.13/site-packages/pip (python 3.13)
smiling@Smiling:~/physics-raudio$ python3 --version
Python 3.8.10

使用的pip和python版本不一样,导致无法识别

1
2
smiling@Smiling:~/physics-raudio$ sudo rm /usr/bin/python3
smiling@Smiling:~/physics-raudio$ sudo ln -s /usr/bin/python3.13 /usr/bin/python3

之后再检查应该就会发现python调到了正确的版本。

但是好像这样的方法ai不推荐。建议下次有空的话还是仔细探索一下怎么使用

Comments