anaconda 包管理

Posted xiaoxu-xli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了anaconda 包管理相关的知识,希望对你有一定的参考价值。

使用conda create -e test2创建环境test2
python -m import numpy numpy.__file__ -> /home/xx/.local/lib/python3.8/site-packages/numpy/__init__.py
which pip -> /usr/bin/pip

使用conda create -n test3 python=3.8创建环境test3

The following NEW packages will be INSTALLED:

  _libgcc_mutex      pkgs/main/linux-64::_libgcc_mutex-0.1-main None
  _openmp_mutex      pkgs/main/linux-64::_openmp_mutex-5.1-1_gnu None
  ca-certificates    pkgs/main/linux-64::ca-certificates-2023.01.10-h06a4308_0 None
  ld_impl_linux-64   pkgs/main/linux-64::ld_impl_linux-64-2.38-h1181459_1 None
  libffi             pkgs/main/linux-64::libffi-3.4.2-h6a678d5_6 None
  libgcc-ng          pkgs/main/linux-64::libgcc-ng-11.2.0-h1234567_1 None
  libgomp            pkgs/main/linux-64::libgomp-11.2.0-h1234567_1 None
  libstdcxx-ng       pkgs/main/linux-64::libstdcxx-ng-11.2.0-h1234567_1 None
  ncurses            pkgs/main/linux-64::ncurses-6.4-h6a678d5_0 None
  openssl            pkgs/main/linux-64::openssl-1.1.1t-h7f8727e_0 None
  pip                pkgs/main/linux-64::pip-23.0.1-py38h06a4308_0 None
  python             pkgs/main/linux-64::python-3.8.16-h7a1cb2a_3 None
  readline           pkgs/main/linux-64::readline-8.2-h5eee18b_0 None
  setuptools         pkgs/main/linux-64::setuptools-66.0.0-py38h06a4308_0 None
  sqlite             pkgs/main/linux-64::sqlite-3.41.2-h5eee18b_0 None
  tk                 pkgs/main/linux-64::tk-8.6.12-h1ccaba5_0 None
  wheel              pkgs/main/linux-64::wheel-0.38.4-py38h06a4308_0 None
  xz                 pkgs/main/linux-64::xz-5.2.10-h5eee18b_1 None
  zlib               pkgs/main/linux-64::zlib-1.2.13-h5eee18b_0 None

在这里面pippython38都被安装了
之后which pip -> /home/xx/anaconda3/envs/test3/bin/pip
pip uninstall numpy这里卸载位于系统.local/lib/python3.8/site-packages/numpy中的numpy,然后使用pip install numpy,这时候,numpy安装在/home/xx/anaconda3/envs/test3/lib/python3.8/site-packages/numpy/__init__.py

使用conda create -n test,python版本是3.8,但是这里不会在lib里安装pippython38。如果使用conda install numpy,则会安装python3.11pip。也意味着python被更新了

The following NEW packages will be INSTALLED:

  _libgcc_mutex      pkgs/main/linux-64::_libgcc_mutex-0.1-main None
  _openmp_mutex      pkgs/main/linux-64::_openmp_mutex-5.1-1_gnu None
  blas               pkgs/main/linux-64::blas-1.0-mkl None
  bzip2              pkgs/main/linux-64::bzip2-1.0.8-h7b6447c_0 None
  ca-certificates    pkgs/main/linux-64::ca-certificates-2023.01.10-h06a4308_0 None
  intel-openmp       pkgs/main/linux-64::intel-openmp-2021.4.0-h06a4308_3561 None
  ld_impl_linux-64   pkgs/main/linux-64::ld_impl_linux-64-2.38-h1181459_1 None
  libffi             pkgs/main/linux-64::libffi-3.4.2-hxx6a678d5_6 None
  libgcc-ng          pkgs/main/linux-64::libgcc-ng-11.2.0-h1234567_1 None
  libgomp            pkgs/main/linux-64::libgomp-11.2.0-h1234567_1 None
  libstdcxx-ng       pkgs/main/linux-64::libstdcxx-ng-11.2.0-h1234567_1 None
  libuuid            pkgs/main/linux-64::libuuid-1.41.5-h5eee18b_0 None
  mkl                pkgs/main/linux-64::mkl-2021.4.0-h06a4308_640 None
  mkl-service        pkgs/main/linux-64::mkl-service-2.4.0-py311h5eee18b_0 None
  mkl_fft            pkgs/main/linux-64::mkl_fft-1.3.1-py311h30b3d60_0 None
  mkl_random         pkgs/main/linux-64::mkl_random-1.2.2-py311hba01205_0 None
  ncurses            pkgs/main/linux-64::ncurses-6.4-h6a678d5_0 None
  numpy              pkgs/main/linux-64::numpy-1.24.3-py311hc206e33_0 None
  numpy-base         pkgs/main/linux-64::numpy-base-1.24.3-py311hfd5febd_0 None
  openssl            pkgs/main/linux-64::openssl-1.1.1t-h7f8727e_0 None
  pip                pkgs/main/linux-64::pip-23.0.1-py311h06a4308_0 None
  python             pkgs/main/linux-64::python-3.11.3-h7a1cb2a_0 None
  readline           pkgs/main/linux-64::readline-8.2-h5eee18b_0 None
  setuptools         pkgs/main/linux-64::setuptools-66.0.0-py311h06a4308_0 None
  six                pkgs/main/noarch::six-1.16.0-pyhd3eb1b0_1 None
  sqlite             pkgs/main/linux-64::sqlite-3.41.2-h5eee18b_0 None
  tk                 pkgs/main/linux-64::tk-8.6.12-h1ccaba5_0 None
  tzdata             pkgs/main/noarch::tzdata-2023c-h04d1e81_0 None
  wheel              pkgs/main/linux-64::wheel-0.38.4-py311h06a4308_0 None
  xz                 pkgs/main/linux-64::xz-5.2.10-h5eee18b_1 None
  zlib               pkgs/main/linux-64::zlib-1.2.13-h5eee18b_0 None
import numpy
numpy.__file__
\'/home/xx/anaconda3/envs/test/lib/python3.11/site-packages/numpy/__init__.py\'

解决方法:
以后重建一个python的版本,python3.9。以后都使用python3.9

删除老的环境:

conda env remove -n test
conda env remove -n test2
conda env remove -n test3
conda env remove -n ttseg
conda env remove -n py38base
conda env remove -n py39test

创建ttsegpy39环境

conda create -n ttsegpy39 python=3.9
conda info -e
conda activate ttsegpy39
pip list

接着pip install totalsegmentator,
安装的库MarkupSafe-2.1.2 PyWavelets-1.4.1 SimpleITK-2.2.1 TotalSegmentator-1.5.5 aiohttp-3.8.4 aiosignal-1.3.1 argparse-1.4.0 async-timeout-4.0.2 attrs-23.1.0 batchgenerators-0.21 certifi-2022.12.7 charset-normalizer-3.1.0 cmake-3.26.3 contourpy-1.0.7 cycler-0.11.0 dataclasses-0.6 dataclasses-json-0.5.7 deprecated-1.2.13 dicom2nifti-2.4.8 dill-0.3.6 filelock-3.12.0 fonttools-4.39.3 frozenlist-1.3.3 fury-0.9.0 future-0.18.3 idna-3.4 imageio-2.28.1 importlib-resources-5.12.0 jinja2-3.1.2 joblib-1.2.0 kiwisolver-1.4.4 lazy_loader-0.2 linecache2-1.0.0 lit-16.0.2 marshmallow-3.19.0 marshmallow-enum-1.5.1 matplotlib-3.7.1 medpy-0.4.0 mpmath-1.3.0 multidict-6.0.4 multiprocess-0.70.14 mypy-extensions-1.0.0 networkx-3.1 nibabel-5.1.0 nnunet-customized-1.2 numpy-1.24.3 nvidia-cublas-cu11-11.10.3.66 nvidia-cuda-cupti-cu11-11.7.101 nvidia-cuda-nvrtc-cu11-11.7.99 nvidia-cuda-runtime-cu11-11.7.99 nvidia-cudnn-cu11-8.5.0.96 nvidia-cufft-cu11-10.9.0.58 nvidia-curand-cu11-10.2.10.91 nvidia-cusolver-cu11-11.4.0.1 nvidia-cusparse-cu11-11.7.4.91 nvidia-nccl-cu11-2.14.3 nvidia-nvtx-cu11-11.7.91 opencv-python-4.7.0.72 p-tqdm-1.4.0 packaging-23.1 pandas-2.0.1 pathos-0.3.0 pillow-9.5.0 pox-0.3.2 ppft-1.7.6.6 psutil-5.9.5 pydicom-2.3.1 pygltflib-1.15.5 pyparsing-3.0.9 python-dateutil-2.8.2 python-gdcm-3.0.21 pytz-2023.3 requests-2.29.0 rt-utils-1.2.7 scikit-image-0.20.0 scikit-learn-1.2.2 scipy-1.9.1 six-1.16.0 sympy-1.11.1 threadpoolctl-3.1.0 tifffile-2023.4.12 torch-2.0.0 tqdm-4.65.0 traceback2-1.4.0 triton-2.0.0 typing-extensions-4.5.0 typing-inspect-0.8.0 tzdata-2023.3 unittest2-1.1.0 urllib3-1.26.15 vtk-9.2.6 wrapt-1.15.0 xvfbwrapper-0.2.9 yarl-1.9.2 zipp-3.15.0都在\'/home/xx/anaconda3/envs/ttsegpy39/lib/python3.9/site-packages

参考:
[1] https://docs.conda.io/projects/conda/en/4.6.0/_downloads/52a95608c49671267e40c689e0bc00ca/conda-cheatsheet.pdf

如何在vs2017管理anaconda的python包

    使用conda 
    首先我们将要确认你已经安装好了conda

    配置环境 
    下一步我们将通过创建几个环境来展示conda的环境管理功能。使你更加轻松的了解关于环境的一切。我们将学习如何确认你在哪个环境中,以及如何做复制一个环境作为备份。

    测试Python 
    然后我们将检查哪一个版本的python可以被安装,以及安装另一个版本的python,还有在两个版本的python之间的切换。

    检查包 
    1)我们将罗列出安装在我们电脑上的包

    2)浏览可用的包

    3)使用conda install命令来来安装以及移除一些包

    4)对于一些不能使用conda安装的包,我们将在Anaconda.org网站上搜索

    5)对于那些在其它位置的包,我们将使用pip命令来实现安装。我们还会安装一个可以免费试用30天的商业包IOPro

    移除包、环境以及conda

    管理conda:

    检查conda版本:

    conda --version

    1

    1

    升级当前版本的conda

    conda update conda

    1

    1

    管理环境

    创建并激活一个环境

    使用”conda create”命令,后边跟上你希望用来称呼它的任何名字:

    conda create --name snowflake biopython

    1

    1

    这条命令将会给Biopython创建一个新的环境,位置在Anaconda安装文件的/envs/snowflakes

    激活这个新环境

    Linux,OS X:

    source activate snowflakes

    1

    1

    Windows:

    activate snowflake

    1

    1

    小技巧:

    新的开发环境会被默认安装在你conda目录下的envs文件目录下。你可以指定一个其他的路径;去通过 
    conda create -h了解更多信息吧。

    小技巧:

    如果我们没有指定安装python的版本,conda会安装我们最初安装conda时所装的那个版本的python。

    列出所有的环境

    conda info -envis或者(-e)

    1

    1

    * 注意:conda有时也会在目前活动的环境前边加上号。**

    切换到另一个环境(activate/deactivate)

    为了切换到另一个环境,键入下列命令以及所需环境的名字。

    Linux,OS X:

    source activate snowflakes

    1

    1

    Windows:

    activate snowflakes

    1

    1

    如果要从你当前工作环境的路径切换到系统根目录时,键入: 
    - Linux,OS X:

    source deactivate

    1

    1

    Windows:

    deactivate

    1

    1

    复制一个环境

    通过克隆来复制一个环境。这儿将通过克隆snowfllakes来创建一个称为flowers的副本。

    conda create -n flowers --clone snowflakes

    1

    1

    通过

    conda info –-envs

    1

    1

    来检查环境

    删除一个环境

    如果你不想要这个名为flowers的环境,就按照如下方法移除该环境:

    conda remove -n flowers

    1

    2

    1

    2

    管理Python

    安装一个不同版本的python

    现在我们假设你需要python3来编译程序,但是你不想覆盖掉你的python2.7来升级,你可以创建并激活一个名为snakes的环境,并通过下面的命令来安装最新版本的python3:

    conda create -n snakes python=3

    1

    1

    检查新的环境中的python版本

    确保snakes环境中运行的是python3:

    python --version

    1

    1

    使用不同版本的python

    为了使用不同版本的python,你可以切换环境,通过简单的激活它就可以,让我们看看如何返回默认版本

    Linux,OS X:

    source activate - snowflakes

    1

    1

    Windows:

    activate snowflakes

    1

    1

    注销该环境

    当你完成了在snowflakes环境中的工作室,注销掉该环境并转换你的路径到先前的状态:

    Linux,OS X:

    source deactivate

    1

    1

    Windows:

    deactivate

    1

    1

    管理包

    conda安装和管理python包非常方便,可以在指定的python环境中安装包,且自动安装所需要的依赖包,避免了很多拓展包冲突兼容问题。

    不建议使用easy_install安装包。大部分包都可以使用conda安装,无法使用conda和anaconda.org安装的包可以通过pip命令安装

    使用合适的源可以提升安装的速度

    查看已安装包

    使用这条命令来查看哪个版本的python或其他程序安装在了该环境中,或者确保某些包已经被安装了或被删除了。在你的终端窗口中输入:

    conda list

    1

    1

    向指定环境中安装包

    使用Conda命令安装包

    我们将在指定环境中安装这个Beautiful Soup包,有两种方式: 
    - 直接指定-n 指定安装环境的名字

    conda install --name bunnies beautifulsoup4

    1

    1

    * 提示:你必须告诉conda你要安装环境的名字(-n bunies)否则它将会被安装到当前环境中。*

    激活bunnies环境,再使用conda install命令。

    activate bunnies
    conda install beautifulsoup4

    1

    2

    1

    2

    2.从Anaconda.org安装一个包

    如果一个包不能使用conda安装,我们接下来将在Anaconda.org网站查找。

    在浏览器中,去 Anaconda资源官网 。我们查找一个叫“bottleneck”的包,所以在左上角的叫“Search Anaconda Cloud”搜索框中输入“bottleneck”并点击search按钮。

    Anaconda.org上会有超过一打的bottleneck包的版本可用,但是我们想要那个被下载最频繁的版本。所以你可以通过下载量来排序,通过点击Download栏。 
    点击包的名字来选择最常被下载的包。它会链接到Anaconda.org详情页显示下载的具体命令:

    conda install--channel https://conda .anaconda.ort/pandas bottleneck

    1

    1

    3. 通过pip命令来安装包

    对于那些无法通过conda安装或者从Anaconda.org获得的包,我们通常可以用pip命令来安装包。

    可以上pypi网 
    站查询要安装的包,查好以后输入pip install命令就可以安装这个包了。

    我们激活想要放置程序的python环境,然后通过pip安装一个叫“See”的程序。

    Linux,OS X:

    source activate bunnies

    1

    1

    Windows:

    activate bunnies

    1

    1

    所有平台:

    pip install see

    1

    1

    提示:pip只是一个包管理器,所以它不能为你管理环境。pip甚至不能升级python,因为它不像conda一样把python当做包来处理。但是它可以安装一些conda安装不了的包。

    4. 文件安装

    如果真的遇到走投无路的境地,也就是上面这些方法通通不管用!!!那就只能下载源码安装了,比如exe文件(双击安装)或者whl文件(pip安装)等等。还有在github上找到源码,使用python setup.py install命令安装

    Tips:不建议使用setuptools 的easy_install,非常不方便管理,也不好卸载 
    有些时候,Anaconda和pip下载的速度慢,访问不稳定怎么办?换个源呗,清华大学的源就很不错,当然啦,你可以自己google一些好用的源

    对于包管理工具,了解这么多就够了,比较喜欢追根究底的童鞋可以移步包管理工具解惑 
    **提示: 
    在任何时候你可以通过在命令后边跟上-help来获得该命令的完整文档。 
    **

    eg:

    conda update --help

    1

    1

    * 小技巧:* 
    很多跟在–后边常用的命令选项,可以被略写为一个短线加命令首字母。所以–name选项和-n的作用是一样的。通过conda -h或conda –-help来看大量的缩写。

    移除包、环境、或者conda

    如果你愿意的话。让我们通过移除一个或多个试验包、环境以及conda来结束这次测试指导。

    移除包

    假设你决定不再使用商业包IOPro。你可以在bunnies环境中移除它。

    conda remove -n bunnies iopro

    1

    1

    移除环境

    我们不再需要snakes环境了,所以输入以下命令:

    conda remove -n snakes --all

    1

    1

    删除conda

    Linux,OS X:

    移除Anaconda 或 Miniconda 安装文件夹

    rm -rf ~/miniconda

    1

    1

    OR

    rm -rf ~/anaconda

    1

    1

    Windows:

    去控制面板,点击“添加或删除程序”,选择“Python2.7(Anaconda)”或“Python2.7(Miniconda)”并点击删除程序。

参考技术A 在vs2017里有个选项,在powershell里打开anaconda,这个可以打开一个anaconda环境的powershell,然后做你想做的就可以了。

以上是关于anaconda 包管理的主要内容,如果未能解决你的问题,请参考以下文章

Anaconda入门

Windows10下配置Python2和Python3共存 并用anaconda实现方便的包管理

anaconda 包管理

Pyton - 包管理Anaconda 和 PIP

使用Anaconda安装TensorFlow

Anaconda3详细安装使用教程及问题总结