Conda、pip3、bash 虚拟环境(Anaconda 巨蟒 – 派森编程)



6. The installer prompts you to click Enter to accept the default install location, CTRL-C to cancel the installation, or specify an alternate installation directory. If you accept the default install location, the installer displays “PREFIX=/home/<user>/anaconda<2 or 3>” and continues the installation. It may take a few minutes to complete.NoteWe recommend you accept the default install location. Do not choose the path as /usr for the Anaconda/Miniconda installation.

7. The installer prompts “Do you wish the installer to initialize Anaconda3 by running conda init?” We recommend “yes”.NoteIf you enter “no”, then conda will not modify your shell scripts at all. In order to initialize after the installation process is done, first run source <path to conda>/bin/activate and then run conda init. See FAQ.

欲知更多详情,请查阅官网 巨蟒编程官网 Installing on Linux


Anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。Anaconda利用工具/命令conda来进行package和environment的管理,并且已经包含了Python和相关的配套工具。

  • 适用语言:Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++, FORTRAN。
  • 适用平台:Windows, macOS, Linux

1. conda与anaconda的差别

conda:可以理解为一个工具,也是一个可执行命令,其核心功能是包管理与环境管理。包管理与pip的使用类似,环境管理则允许用户方便地安装不同版本的python并可以快速切换。
Anaconda:是一个包含180+的科学包及其依赖项的发行版本。其包含的科学包包括:conda, numpy, scipy, ipython notebook等。其实还有Miniconda,顾名思义,它只包含最基本的内容——python与conda,以及相关的必须依赖项,对于空间要求严格的用户,Miniconda是一种选择。

conda的设计理念——conda将几乎所有的工具、第三方包都当做package对待,甚至包括python和conda自身!因此,conda打破了包管理与环境管理的约束,能非常方便地安装各种版本python、各种package并方便地切换。

2. pip 与 conda 比较

1. 依赖项检查
▪ pip:
① 不一定会展示所需其他依赖包。
② 安装包时或许会直接忽略依赖项而安装,仅在结果中提示错误。
▪ conda:
① 列出所需其他依赖包。
② 安装包时自动安装其依赖项。
③ 可以便捷地在包的不同版本中自由切换。

2. 环境管理
▪ pip:维护多个环境难度较大。
▪ conda:比较方便地在不同环境之间进行切换,环境管理较为简单。

3. 对系统自带Python的影响
▪ pip:在系统自带Python中包的更新/回退版本/卸载将影响其他程序。
▪ conda:不会影响系统自带Python。

4. 适用语言
▪ pip:仅适用于Python。
▪ conda:适用于Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++, FORTRAN。

注意:

  • pip只是包管理器,无法对环境进行管理。因此如果想在指定环境中使用pip进行安装包,则需要先切换到指定环境中,再使用pip命令安装包。
  • pip无法更新python,因为pip并不将python视为包。
  • pip可以安装一些conda无法安装的包;conda也可以安装一些pip无法安装的包。因此当使用一种命令无法安装包时,可以尝试用另一种命令。

▪ conda结合了pip和virtualenv的功能。

3….

4…

作者:生物信息与编程
链接:https://www.jianshu.com/p/8c1a09c7c2fc
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

欲知更多详情,请查阅出处:anaconda3 | 安装


安装完anaconda后,发现linux终端前面多了个base:

而且切换用户后会发现base就不存在了。

所以可以断定的是一定是在安装用户的家目录配置文件里做了修改。

由于这个是bash上的设置,所以直接查看用户家目录下的 .bashrc文件即可。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_39314099/article/details/105651801

欲知更多详情,请查阅出处:安装完anaconda后,终端前面多了个base_夕秋一梦的博客-程序员宝宝


先说答案,你这个问题应该用Anaconda Project。但光靠Anaconda Project可能也不够。

在Python世界,虽然有很多工具可以搞一点依赖管理,但每一个工具都不能解决全部问题。

  • pip可以管理Python依赖,但是pip包都是源码包,得在安装时编译,常常由于系统环境的原因而编译失败。此外pip也不能用来安装官方版的opencv这样的原生库。
  • pyenv可以管理Python版本
  • Virtualenvvenv可以创建虚拟环境,让多个项目之间的Python依赖隔离开,不会在项目之间冲突。
  • pipenv把pip、pyenv和virtualenv的功能整合到一起,但是仍然没有解决源码编译的问题和原生库的安装问题。
  • Conda是个包管理器,可以支持二进制包,所以不需要安装时从源码编译了,而且也可以装原生库。但是,一些 pip 里的 Python 库在 conda 里找不到。
    • Anaconda是用Conda管理的Python科学计算发行版
    • Conda Forge是另一个Python发行版,要比Anaconda的包更丰富。但这里有个坑就是Conda Forge和Anaconda并不完全兼容,如果你有一个项目同时用到Anaconda和Conda Forge里的包,有可能会挂。
  • Anaconda Project可以在一个项目里创建多个虚拟环境,既可以管理conda依赖,也可以管理pip依赖,但还是缺了CUDA这样的系统包和一些命令行工具。
  • Apt之类的系统包管理工具可以安装系统包,但是会受到操作系统发行版的限制,比如说Ubuntu 14.04里就装不了CUDA 9。
  • Docker可以在容器里装一个操作系统发行版,从而可以方便的切换操作系统版本。但是容器和宿主必须要共享操作系统内核,所以没办法在macOS直接运行Linux发行版的docker容器。
  • nvidia-docker可以把宿主的GPU设备文件和驱动挂载到Docker容器里,但是只支持Linux。

这些工具解决的问题虽然不完全一样,但也有一部分重叠。我具体给一点建议:

  1. 如果临时写几行不在项目里的代码,用操作系统全局的 Anaconda 环境。
  2. 如果需要创建多个数据挖掘或科学计算的项目,那么用 Anaconda Project 隔离这些项目,不要用pipenv。
  3. 如果需要创建多个Python网站的项目,那么用 pipenv 隔离这些项目,不要用 conda。
  4. 用Anaconda Project管理的项目中,如果需要安装纯Python库,优先用pip包,如果是需要额外编译的库,优先用conda包。
  5. 如果需要隔离系统环境,用Linux版的Docker,在容器里安装系统依赖。
  6. conda和Linux发行版都有的二进制包,优先用conda装。因为发行版发布周期慢,版本旧。

作者:杨博
链接:https://www.zhihu.com/question/41974592/answer/346158644
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

欲知更多详情,请查阅出处:使用anaconda以后再要使用不在conda环境中的包,要怎么安装?


conda deactivate

This actually deactivates Anaconda completely, so may not be the best solution…
To restore:

 conda activate

Try this:

conda config --set auto_activate_base false

The changeps1 only hide the command prompt, you still in this environment.
auto_activate_base can avoid entering the environment.

出处:Why does ‘(base)’ appear in my anaconda command prompt?


pip和conda的区别

不同点:

  1. conda是一种通用包管理系统,是想要构建和管理任何语言的任何类型的软件,它也适用于Python包;Pip是Python的官方认可的包管理器,最常用于安装在Python包索引(PyPI)上发布的包。
  2. pip是Python包的通用管理器; conda是一个与语言无关的跨平台环境管理器。对于用户,最显着的区别可能是这样的。
    pip安装好的包只在当前环境中使用
    conda install 时,对于同一个包只需要安装一次。所有环境的包由conda集中管理。
  3. pip安装是安装在所选环境中;conda安装默认安装在conda环境中。

相同点:
安装时都可以指定安装版本

pip install 和apt-get install 的区别

apt-get可以用来安装软件、更新源、也可以用来更新自Ubuntu的典型依赖包。

不同点:
pip选择安装任何在PyPI上已上传的先前版本的依赖包;
只是安装(最新发布的,或最近一个的)单一版本,并且我们不能决定我们要安装的依赖包的版本或选择它之前的版本。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/weixin_41986795/article/details/105013864

出处:ubuntu下conda install pip install apt-get install的区别-爱代码爱编程


sudo apt install:
apt可以用来安装软件、更新源,也可以用来更新自Ubuntu的典型依赖包。
(sudo apt remove –purge 软件名称
sudo apt autoremove –purge 软件名称 
可以用来卸载相对应的安装)

出处:sudo apt-get install 、 pip install和conda install的对比

出处:sudo apt-get install 、 pip install和conda install的对比


I don’t pretend to know the correct answer…

Quote from Simon Collins

一旦安装了Anaconda应用后,后台就会自动设置为bash虚拟环境模式。这儿就出现疑问了,我不佯装知道正确的答案,这儿就测试一下:

englianhu@Scibrokes-Trading:~$ conda activate
(base) englianhu@Scibrokes-Trading:~$ neofetch
            .-/+oossssoo+/-.               englianhu@Scibrokes-Trading 
        `:+ssssssssssssssssss+:`           --------------------------- 
      -+ssssssssssssssssssyyssss+-         OS: Ubuntu 20.04.4 LTS x86_64 
    .ossssssssssssssssssdMMMNysssso.       Host: 23-p080d 
   /ssssssssssshdmmNNmmyNMMMMhssssss/      Kernel: 5.13.0-39-generic 
  +ssssssssshmydMMMMMMMNddddyssssssss+     Uptime: 5 hours, 44 mins 
 /sssssssshNMMMyhhyyyyhmNMMMNhssssssss/    Packages: 7924 (dpkg), 24 (snap) 
.ssssssssdMMMNhsssssssssshNMMMdssssssss.   Shell: bash 5.0.17 
+sssshhhyNMMNyssssssssssssyNMMMysssssss+   Resolution: 1920x1080 
ossyNMMMNyMMhsssssssssssssshmmmhssssssso   DE: Plasma 
ossyNMMMNyMMhsssssssssssssshmmmhssssssso   WM: KWin 
+sssshhhyNMMNyssssssssssssyNMMMysssssss+   WM Theme: Sweet-Dark 
.ssssssssdMMMNhsssssssssshNMMMdssssssss.   Theme: Iridescent Lightly 3 [Plasma], Breeze [GTK2/3] 
 /sssssssshNMMMyhhyyyyhdNMMMNhssssssss/    Icons: BeautyLine [Plasma], BeautyLine [GTK2/3] 
  +sssssssssdmydMMMMMMMMddddyssssssss+     Terminal: konsole 
   /ssssssssssshdmNNNNmyNMMMMhssssss/      CPU: Intel i5-4590T (4) @ 3.000GHz 
    .ossssssssssssssssssdMMMNysssso.       GPU: NVIDIA GeForce 710M 
      -+sssssssssssssssssyyyssss+-         GPU: Intel HD Graphics 
        `:+ssssssssssssssssss+:`           Memory: 14417MiB / 15894MiB 
            .-/+oossssoo+/-.
                                                                   
                                                                   


(base) englianhu@Scibrokes-Trading:~$ R
/home/englianhu/anaconda3/lib/R/bin/exec/R: error while loading shared libraries: libreadline.so.6: cannot open shared object file: No such file or directory
(base) englianhu@Scibrokes-Trading:~$ lightshot
lightshot: command not found
(base) englianhu@Scibrokes-Trading:~$ chrome

Command 'chrome' not found, did you mean:

  command 'chroma' from deb chroma (0.7.1-1)

Try: sudo apt install <deb name>

(base) englianhu@Scibrokes-Trading:~$ google-chrome

(google-chrome:57114): Gtk-WARNING **: 20:21:17.557: Theme parsing error: colors.css:71:51: Expected ')' in color definition
libva error: /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so init failed
[57154:57154:0409/202118.122557:ERROR:sandbox_linux.cc(377)] InitializeSandbox() called with multiple threads in process gpu-process.
[57114:57114:0409/202118.197661:ERROR:object_proxy.cc(623)] Failed to call method: org.kde.KWallet.isEnabled: object_path= /modules/kwalletd5: org.freedesktop.DBus.Error.NoReply: Message recipient disconnected from message bus without replying
[57114:57114:0409/202118.197689:ERROR:kwallet_dbus.cc(100)] Error contacting kwalletd5 (isEnabled)
[57114:57114:0409/202118.198926:ERROR:object_proxy.cc(623)] Failed to call method: org.kde.KLauncher.start_service_by_desktop_name: object_path= /KLauncher: org.freedesktop.DBus.Error.ServiceUnknown: The name org.kde.klauncher was not provided by any .service files
[57114:57114:0409/202118.198944:ERROR:kwallet_dbus.cc(72)] Error contacting klauncher to start kwalletd5
[57114:57114:0409/202118.275720:ERROR:object_proxy.cc(623)] Failed to call method: org.kde.KWallet.close: object_path= /modules/kwalletd5: org.freedesktop.DBus.Error.NoReply: Message recipient disconnected from message bus without replying
[57114:57114:0409/202118.275743:ERROR:kwallet_dbus.cc(418)] Error contacting kwalletd5 (close)
Opening in existing browser session.
(base) englianhu@Scibrokes-Trading:~$ conda deactivate
englianhu@Scibrokes-Trading:~$ R

R version 4.1.3 (2022-03-10) -- "One Push-Up"
Copyright (C) 2022 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R是自由软件,不带任何担保。
在某些条件下你可以将其自由散布。
用'license()'或'licence()'来看散布的详细条件。

  Natural language support but running in an English locale

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

用'demo()'来看一些示范程序,用'help()'来阅读在线帮助文件,或
用'help.start()'通过HTML浏览器来看帮助文件。
用'q()'退出R.


✖ wifi | ✔ ethernet
#rsessions: 4
[原来保存的工作空间已还原]

✔ 
❯ q('no')
englianhu@Scibrokes-Trading:~$ 

以上测试了google-chrome和neofetch,证明一些应用还是可以调用,不过调用不到R语言编程和lightshot,所以假设一安装Linux🐧系统后就先安装Anaconda的话,估计许多<s>所有</s>应用都会安装在bash虚拟环境中,只是不晓得电脑操作会否受到影响,就是安装在虚拟环境的应用被调用、读取储存数据应用、系统和应用运行方面会否减速?目前正在自修学习金融高频量化交易中~

抓妖僧🦲到🦀
墨学女侠加油
墨学女侠加油


参考文章

留下评论