问题
anaconda3所在目录的空间不足且系统没有未分配的空间,以至无法在anaconda3的目录下添加虚拟环境
解决方法
将虚拟环境新建至指定位置(注意,将虚拟环境放在非home目录下可能需要管理员权限或适当的文件系统权限。确保有足够的权限来在目标目录下创建和操作文件),
## --prefix是conda create命令的一个选项,用于指定创建虚拟环境时的目标路径或目录
conda create --prefix /path/to/new/environment python=3.10
编辑anaconda的配置文件(通常是 ~/.bashrc 或 ~/.bash_profile),将新虚拟环境的路径添加到PATH环境变量中,
export PATH="/path/to/new/environment/bin:$PATH"
激活该环境,
conda activate /path/to/new/environment
需要注意的是,使用pip安装需要的软件包时,需要修改安装路径,否则则会安装在系统默认的位置上。修改安装路径的方法如下,
## 查看site.py文件的位置
python -m site -help
## 获取到site.py的位置后,修改该文件内容
vim site.py
## 找到该文件的USER_SITE和USER_BASE(默认为None),并改成自己想要安装的目录
"""
这里解释下这两个变量的含义:
USER_SITE和USER_BASE是两个与用户级别的安装相关的变量。
USER_SITE变量表示用户级别安装的软件包的目录路径。默认情况下,它指向用户的主目录下的.local文件夹中的site-packages目录。用户级别安装的软件包会被安装到这个目录中。
USER_BASE变量表示用户级别安装的基础目录路径。默认情况下,它指向用户的主目录下的.local文件夹。这个目录包含了用户级别安装的软件包目录以及其他相关文件。
这两个变量的值通常是根据操作系统和用户配置来确定的,用于确定用户级别安装的位置。它们提供了一种机制,使用户能够在自己的主目录中安装Python包,而不需要管理员权限。
"""
USER_SITE = "/data/anaconda3_envs/4090/lib/python3.10/site-packages"
USER_BASE = "/data/anaconda3_envs/4090/lib/python3.10"
修改完后,使用如下命令查看软件包的安装位置,
python -m site --user-site
## 若打印出的信息为/data/anaconda3_envs/4090/lib/python3.10/site-packages(USER_SITE),则表示修改成功