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
在这里面pip
和python38
都被安装了
之后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里安装pip
和python38
。如果使用conda install numpy
,则会安装python3.11
和pip
。也意味着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
中
如何在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 --version1
1
升级当前版本的conda
conda update conda1
1
管理环境
创建并激活一个环境
使用”conda create”命令,后边跟上你希望用来称呼它的任何名字:
conda create --name snowflake biopython1
1
这条命令将会给Biopython创建一个新的环境,位置在Anaconda安装文件的/envs/snowflakes
激活这个新环境
Linux,OS X:
source activate snowflakes1
1
Windows:
activate snowflake1
1
小技巧:
新的开发环境会被默认安装在你conda目录下的envs文件目录下。你可以指定一个其他的路径;去通过
conda create -h了解更多信息吧。
小技巧:
如果我们没有指定安装python的版本,conda会安装我们最初安装conda时所装的那个版本的python。
列出所有的环境
conda info -envis或者(-e)1
1
* 注意:conda有时也会在目前活动的环境前边加上号。**
切换到另一个环境(activate/deactivate)
为了切换到另一个环境,键入下列命令以及所需环境的名字。
Linux,OS X:
source activate snowflakes1
1
Windows:
activate snowflakes1
1
如果要从你当前工作环境的路径切换到系统根目录时,键入:
- Linux,OS X:
1
1
Windows:
deactivate1
1
复制一个环境
通过克隆来复制一个环境。这儿将通过克隆snowfllakes来创建一个称为flowers的副本。
conda create -n flowers --clone snowflakes1
1
通过
conda info –-envs1
1
来检查环境
删除一个环境
如果你不想要这个名为flowers的环境,就按照如下方法移除该环境:
conda remove -n flowers1
2
1
2
管理Python
安装一个不同版本的python
现在我们假设你需要python3来编译程序,但是你不想覆盖掉你的python2.7来升级,你可以创建并激活一个名为snakes的环境,并通过下面的命令来安装最新版本的python3:
conda create -n snakes python=31
1
检查新的环境中的python版本
确保snakes环境中运行的是python3:
python --version1
1
使用不同版本的python
为了使用不同版本的python,你可以切换环境,通过简单的激活它就可以,让我们看看如何返回默认版本
Linux,OS X:
source activate - snowflakes1
1
Windows:
activate snowflakes1
1
注销该环境
当你完成了在snowflakes环境中的工作室,注销掉该环境并转换你的路径到先前的状态:
Linux,OS X:
source deactivate1
1
Windows:
deactivate1
1
管理包
conda安装和管理python包非常方便,可以在指定的python环境中安装包,且自动安装所需要的依赖包,避免了很多拓展包冲突兼容问题。
不建议使用easy_install安装包。大部分包都可以使用conda安装,无法使用conda和anaconda.org安装的包可以通过pip命令安装
使用合适的源可以提升安装的速度
查看已安装包
使用这条命令来查看哪个版本的python或其他程序安装在了该环境中,或者确保某些包已经被安装了或被删除了。在你的终端窗口中输入:
conda list1
1
向指定环境中安装包
使用Conda命令安装包
我们将在指定环境中安装这个Beautiful Soup包,有两种方式:
- 直接指定-n 指定安装环境的名字
1
1
* 提示:你必须告诉conda你要安装环境的名字(-n bunies)否则它将会被安装到当前环境中。*
激活bunnies环境,再使用conda install命令。
activate bunniesconda 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详情页显示下载的具体命令:
1
1
3. 通过pip命令来安装包
对于那些无法通过conda安装或者从Anaconda.org获得的包,我们通常可以用pip命令来安装包。
可以上pypi网
站查询要安装的包,查好以后输入pip install命令就可以安装这个包了。
我们激活想要放置程序的python环境,然后通过pip安装一个叫“See”的程序。
Linux,OS X:
source activate bunnies1
1
Windows:
activate bunnies1
1
所有平台:
pip install see1
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 --help1
1
* 小技巧:*
很多跟在–后边常用的命令选项,可以被略写为一个短线加命令首字母。所以–name选项和-n的作用是一样的。通过conda -h或conda –-help来看大量的缩写。
移除包、环境、或者conda
如果你愿意的话。让我们通过移除一个或多个试验包、环境以及conda来结束这次测试指导。
移除包
假设你决定不再使用商业包IOPro。你可以在bunnies环境中移除它。
conda remove -n bunnies iopro1
1
移除环境
我们不再需要snakes环境了,所以输入以下命令:
conda remove -n snakes --all1
1
删除conda
Linux,OS X:
移除Anaconda 或 Miniconda 安装文件夹
rm -rf ~/miniconda1
1
OR
rm -rf ~/anaconda1
1
Windows:
去控制面板,点击“添加或删除程序”,选择“Python2.7(Anaconda)”或“Python2.7(Miniconda)”并点击删除程序。
以上是关于anaconda 包管理的主要内容,如果未能解决你的问题,请参考以下文章