Conda_使用和常用的命令

发布时间 2023-08-15 17:39:08作者: 辰令

conda

A system-level, binary package and environment manager
Anaconda和Miniconda都是Continuum Analytics的开源项目,用于管理Python的环境和包
  Anaconda是一个包含了conda、Python和超过150个科学包及其依赖项的科学Python发行版。
  Miniconda更加轻量级。它只包含了Python和Conda,但并没有预装其他的库。
  Conda is written entirely in Python
   Package, dependency and environment management for any language---Python, R, Ruby, Lua, Scala, Java, JavaScript, C/ C++, FORTRAN

conda常见命令

 conda --version               #查看conda版本,验证是否安装	二进制
 conda config --show channels  #查看源地址: Modify configuration values in .condarc  channel
 conda info                    #Conda创建的新环境以及过往安装的模块缓存都存储在用户目录
 ##环境
 conda env list                   // 显示所有的虚拟环境
 conda create -n xxx python=3.7   // 创建Python3.7的名为xxx虚拟环境
 conda activate/deactivate        // 激活与取消激活
 conda remove -n xxx --all        // 删除虚拟环境 
 
 ##包
 conda list
 conda install                     //两者都可以安装python包
 conda clean -p                //来删除一些没用的包

pip

wheel或源码
pip+virtualenv	 
 virtualenv能实现的只是不同环境下的python包互相独立,但是不同环境下用的python是同一个版本

其他语言

Sonatype Nexus,是Sonatype公司的一个产品,叫Nexus,是Maven的私服
   Nexus Repository 是搭建maven的镜像的工具之一,在全球范围内使用挺广的
Apache Archiva Repository Apache Archiva 是一个开源的软件仓库管理器,可用于存储和分发软件包、库和依赖项
    Archiva 还支持 Maven、Gradle、Ivy 等多种构建工具,并具有灵活的配置选项,
JFrog Artifactory 是一个可扩展的通用二进制存储库管理器,可在整个应用程序开发和交付过程中自动管理你的工件和依赖项	

 C++ 二进制存储管理工具  jfrog artifactory是一款二进制存储管理工具
   使用conda打造C++包服务器

linux命令行

  ps 
 	  -e 显示所有进程
	  -u:显示与指定用户相关的进程信息。
	  -f 全格式
	  x 显示没有控制终端的进程
	  ps -ef: 显示系统中所有进程的列表,包括其他用户的进程。
      ps -aux: 显示详细的进程信息,包括CPU和内存使用情况等。
	  
	 -A, -e               all processes
     -a                   all with tty, except session leaders
      a                   all with tty, including other users

    tty进程的主要功能是实现用户与系统进行交互,它可以接受用户输入的信息,并将处理结果返回给用户
    用户进程是指由用户启动并运行的进程,通常是各种用户应用程序	
    父进程和子进程 工作组和会话机制依 
    进程组 (process group)	 领导进程 (process group leader) 导进程的PID成为进程组的ID (process group ID, PGID)	
	shell支持工作控制(job control)的前提下,多个进程组还可以构成一个会话 (session) bash(Bourne-Again shell)支持工作控制,而sh(Bourne shell)并不支持。
	  每个会话可以连接一个控制终端(control terminal)-会话主要是针对一个终端建立的-
	   打开多个终端窗口时,实际上就创建了多个终端会话。每个会话都会有自己的前台工作和后台工作  session  session leaders
       jobs 
	   建立与控制终端连接的会话首进程被称为控制进程 (controlling process)
	   终端在关闭时会发送SIGHUP信号给session leader,此处就是bash进程,bash收到后向session内的所有进程发送SIGHUP然后退出
	   nohup 注册了SIGHUP的一个处理函数,忽略这个信号,然后去执行实际的命令
	pkill和killall一样都是通过名字来杀死进程  原理都是通过查找/proc这个内存文件系统  

参考

Linux下安装conda https://www.cnblogs.com/ytwang/p/14580513.html 
 https://github.com/conda/conda
 https://docs.conda.io/projects/conda/en/stable/