使用conda创建虚拟环境

1. 为什么需要虚拟环境

在做项目时,有可能会遇到对于python中的A包,项目甲和项目乙所需的A包的版本不同,我们不可能在做项目甲时安装A包的一个版本,在做项目乙时又将A包更新到另一个版本。虚拟环境就是为了解决这样的冲突,我们创建一个虚拟环境env1,在虚拟环境env1中安装A包的一个版本,做项目甲;创建另一个虚拟环境env2,在其中安装A包的另一个版本做项目乙。

创建虚拟环境后,进入虚拟环境,系统中的各个文件夹在不同环境中仍然是共享的,只是不同环境中管理不同的包。

2.使用conda创建虚拟环境

创建虚拟环境前可以使用如下conda指令查看一些配置

  • 检验是否安装及当前conda的版本
conda -V

在这里插入图片描述

  • 查看安装了哪些包
conda list
  • 检查更新conda
conda update conda

使用conda创建虚拟环境

  • 创建一个虚拟环境,其中env_name是自定义的虚拟环境名字,python=x.x指定python版本
conda create -n env_name python=x.x

也可以在后面加上 --yes 参数,从而在安装过程中不需要另外确认是否要安装,效果如下,对于使用conda install pkg_name也相同
在这里插入图片描述

图1. 加–yes参数全程不需要再次输入yes来确认是否安装

在这里插入图片描述

图2. 未使用–yes参数需要再次却惹

  • 查看当前存在哪些虚拟环境
conda env list 或者 conda info -e
  • 进入虚拟环境
conda activate en_name 或者 source activate env_name
  • 进入虚拟环境后使用如下指令可以只在当前环境中安装删除包
conda install pkg_name 
conda uninstall pkg_name
pip install pkg_name
pip uninstall pkg_name
  • 退出当前虚拟环境
conda deactivate 或者 source deactivate
  • 删除虚拟环境
conda remove -n env_name --all

添加国内镜像源
使用conda默认的源来安装包速度非常慢,甚至失败,因此可以添加国内源来加快安装包的网速

在linux下,使用vim ~/.condarc 修改配置文件,若配置文件里面为空,直接将如下代码拷贝进去,若存在一些源,可以将其他源的链接按原先格式添加进去

# 中科大源
channels:
  - https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
  - https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
  - https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
ssl_verify: true
# 清华源
channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
ssl_verify: true

在这里插入图片描述

3. 其他问题

3.1 添加已有虚拟环境

背景

  • 在使用conda activate [environment name]或者source activate [environment name]时,可能出现你明明安装了一个环境,但是 conda 却发现不了,然后提示Could not find conda environment。甚至可能conda env list或者conda info --envs后,居然发现环境是存在的。
  • 电脑上已经有一些pyhon环境了(比如安装了多个anconda,他们的虚拟环境保存的并非同一个目录下),需要将他们添加到conda下作为conda虚拟环境来管理

解决方法

  • 查看conda配置的环境路径中有没有安装环境的目录
conda config --show envs_dirs
  • 手动添加环境目录
    找到你已存在的环境路径,并添加到conda里:下面的your_path是已存在环境路径
conda config --append envs_dirs your_path
  • 删除环境目录
    如果你想要这个环境,可以执行以下命令删除
conda config --remove envs_dirs your_path

3.2 重命名虚拟环境名称(克隆环境)

conda中无法直接重命名虚拟环境名称,但是可以曲线救国,通过新建一个虚拟环境,且新建的环境clone旧的环境。所以重命名虚拟环境名称的过程为:
(1)新建并克隆旧的环境
(2)删除旧环境

conda create --name new_name --clone old_env_name
conda remove --name old_env_name --all

3.3 jupyter创建新的kernel

# 1. 进入需要创建kernel的虚拟环境
conda activate your_env_name
# 2. 创建kernel
python -m ipykernel install --name your_env_name

注意:第二步中name参数可以自定义,一般建议设置为当前虚拟环境名称一致

另外一种方法是在创建虚拟环境的同时创建kernel

conda create -n your_env_name python=3.5 ipykernel  

3.4 修改多个conda优先级

当我们一台机器上存在多个conda时,我们在3.1章节中介绍过如何在默认conda中引入其他conda创建的虚拟环境。当我们通过3.1的方法引入其他环境时,系统将默认以后创建的环境存在第一个环境目录下,如下图所示,默认新创建的环境保存在D盘的环境中
在这里插入图片描述
现在我们想把第三个环境的优先级放到第一位,让新建的环境默认保存在第三和环境中,那么我们需要在conda配置文件中将第三个环境移动到第一位。默认conda的配置文件位于$HOME/.condarc,修改该文件下的envs_dirs即可
在这里插入图片描述


🤗了解更多AI算法及工具关注微信公众号 funNLPer🤗
PS E:\python\project> pip install mnnpy WARNING: Ignoring invalid distribution -ip (e:\python\project\venv\lib\site-packages) WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port=443): Read timed out. (read timeout=15)")': /simple/mnnpy/ Collecting mnnpy Using cached mnnpy-0.1.9.5.tar.gz (117 kB) Preparing metadata (setup.py) ... done Requirement already satisfied: numpy in e:\python\project\venv\lib\site-packages (from mnnpy) (1.24.4) Requirement already satisfied: scipy in e:\python\project\venv\lib\site-packages (from mnnpy) (1.10.1) Requirement already satisfied: anndata in e:\python\project\venv\lib\site-packages (from mnnpy) (0.8.0) Requirement already satisfied: pandas in e:\python\project\venv\lib\site-packages (from mnnpy) (1.4.4) Requirement already satisfied: numba in e:\python\project\venv\lib\site-packages (from mnnpy) (0.58.1) Requirement already satisfied: h5py>=3 in e:\python\project\venv\lib\site-packages (from anndata->mnnpy) (3.10.0) Requirement already satisfied: natsort in e:\python\project\venv\lib\site-packages (from anndata->mnnpy) (8.4.0) Requirement already satisfied: packaging>=20 in e:\python\project\venv\lib\site-packages (from anndata->mnnpy) (24.0) Requirement already satisfied: python-dateutil>=2.8.1 in e:\python\project\venv\lib\site-packages (from pandas->mnnpy) (2.9.0.post0) Requirement already satisfied: pytz>=2020.1 in e:\python\project\venv\lib\site-packages (from pandas->mnnpy) (2024.1) Requirement already satisfied: llvmlite<0.42,>=0.41.0dev0 in e:\python\project\venv\lib\site-packages (from numba->mnnpy) (0.41.1) Requirement already satisfied: importlib-metadata in e:\python\project\venv\lib\site-packages (from numba->mnnpy) (7.1.0) Requirement already satisfied: six>=1.5 in e:\python\project\venv\lib\site-packages (from python-dateutil>=2.8.1->pandas->mnnpy) (1.16.0) Requirement already satisfied: zipp>=0.5 in e:\python\project\venv\lib\site-packages (from importlib-metadata->numba->mnnpy) (3.18.1) Building wheels for collected packages: mnnpy Building wheel for mnnpy (setup.py) ... error error: subprocess-exited-with-error × python setup.py bdist_wheel did not run successfully. │ exit code: 1 ╰─> [36 lines of output] Building with c. E:\python\project\venv\lib\site-packages\setuptools\dist.py:452: SetuptoolsDeprecationWarning: Invalid dash-separated options !! ******************************************************************************** Usage of dash-separated 'python-tag' will not be supported in future versions. Please use the underscore name 'python_tag' instead. This deprecation is overdue, please update your project and remove deprecated calls to avoid build errors in the future. See https://setuptools.pypa.io/en/latest/userguide/declarative_config.html for details. ******************************************************************************** !! opt = self.warn_dash_deprecation(opt, section) running bdist_wheel running build running build_py file irlb.py (for module irlb) not found file mnn.py (for module mnn) not found file utils.py (for module utils) not found creating build creating build\lib.win-amd64-cpython-38 creating build\lib.win-amd64-cpython-38\mnnpy copying mnnpy\irlb.py -> build\lib.win-amd64-cpython-38\mnnpy copying mnnpy\mnn.py -> build\lib.win-amd64-cpython-38\mnnpy copying mnnpy\settings.py -> build\lib.win-amd64-cpython-38\mnnpy copying mnnpy\utils.py -> build\lib.win-amd64-cpython-38\mnnpy copying mnnpy\__init__.py -> build\lib.win-amd64-cpython-38\mnnpy file irlb.py (for module irlb) not found file mnn.py (for module mnn) not found file utils.py (for module utils) not found running build_ext building 'mnnpy._utils' extension error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/ [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for mnnpy Running setup.py clean for mnnpy Failed to build mnnpy ERROR: Failed to build installable wheels for some pyproject.toml based projects (mnnpy) PS E:\python\project> mnnpy下载不了
06-06
### 解决 mnnpy 在 Windows 上安装失败的问题 在 Windows 系统上安装 `mnnpy` 时,如果遇到“Microsoft Visual C++ 14.0 或更高版本缺失”的错误,可以通过以下方法解决: #### 1. 安装 Microsoft C++ Build Tools 此问题的根本原因是缺少编译工具链。为了解决这个问题,可以直接安装 **Microsoft C++ Build Tools**,而无需安装完整的 Visual Studio[^4]。 - 访问微软官方下载页面:[Microsoft C++ Build Tools](https://visualstudio.microsoft.com/visual-cpp-build-tools/)。 - 登录微软账户后,在下载页面搜索“build tools”。 - 找到并选择左侧的 **Visual Studio 2015 Update 3**。 - 下载对应的 ISO 文件(约 1.1GB),并将下载目标格式设置为 DVD。 - 下载完成后,使用 Windows 文件管理器打开 ISO 文件,或解压后运行其中的可执行程序 `VisualCppBuildTools_Full.exe`。 - 按照提示完成安装。 #### 2. 使用预编译的二进制文件 如果安装编译工具仍然无法解决问题,可以尝试使用预编译的二进制文件。对于某些依赖包(如 `mnnpy` 的依赖项),可以使用 [Unofficial Windows Binaries for Python Extension Packages](https://www.lfd.uci.edu/~gohlke/pythonlibs/) 提供的 wheel 文件[^4]。 - 访问上述链接,搜索所需的包(如 `rpy2` 或其他依赖项)。 - 下载与 Python 版本和系统架构匹配的 `.whl` 文件。 - 使用以下命令安装: ```bash pip install path_to_downloaded_whl_file.whl ``` #### 3. 配置 R 和 Bioconductor 由于 `mnnpy` 调用了 R 的 `BiocNeighbors` 包,因此需要确保 R 和 Bioconductor 已正确安装。 - 安装 R:从 [CRAN](https://cran.r-project.org/) 下载并安装最新版本的 R。 - 安装 Bioconductor 包: ```R if (!requireNamespace("BiocManager", quietly = TRUE)) install.packages("BiocManager") BiocManager::install(c("BiocNeighbors", "Batchelor")) ``` #### 4. 创建 Conda 环境 为了减少依赖冲突,建议在 Conda 环境中安装 `mnnpy` 及其依赖项。 - 创建一个新的 Conda 环境: ```bash conda create -n mnnpy_env python=3.8 conda activate mnnpy_env ``` - 安装必要的依赖项: ```bash conda install numpy scipy pandas anndata loompy rpy2 ``` - 最后安装 `mnnpy`: ```bash pip install mnnpy ``` #### 5. 检查环境变量 确保系统环境变量中包含 R 的路径。如果未正确配置,可能会导致 `rpy2` 无法找到 R 的库文件。 - 将 R 的安装路径添加到系统的 `PATH` 环境变量中。例如,如果 R 安装在 `C:\Program Files\R\R-4.2.0\bin`,则需要将该路径添加到 `PATH` 中。 --- ### 示例代码验证安装 完成上述步骤后,可以运行以下代码以验证 `mnnpy` 是否成功安装: ```python import mnnpy print("mnnpy installed successfully!") ``` 如果未出现任何错误,则表示安装成功。 --- ### 注意事项 - 如果仍遇到问题,请检查 Python 和 R 的版本是否兼容[^3]。 - 确保所有依赖项均已正确安装,特别是 `rpy2` 和 R 的 Bioconductor 包。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值