背景:
我既有 python 又有Anaconda
Pycharm新建虚拟环境:
只说两种方式
通过Virualenv Environment新建:
这里我们勾选上 Make available to all projects ,之后点击🆗
然后可以发现只有非常少的包,因为没有勾选继承 编译器的包
创建的虚拟环境一般目录如下:
├── Lib
│ └── site-packages
├── pyvenv.cfg
└── Scripts
├── activate
├── activate.bat
├── Activate.ps1
├── deactivate.bat
├── pip3.23.exe
├── pip3.exe
├── pip.exe
├── python.exe
└── pythonw.exe
去项目中选择新建的环境
这个时候安装包 pip install pandas (注意要重新开一个Terminal,尤其是切换了一次环境)可以发现
打开对应位置的Lib/site-packages文件夹可以发现安装成功了!
这里需要注意的是: 你在Terminal中输入的pip 就是Scripts/ 文件夹下的pip (不是你要继承的那个pip 也不是环境变量里的pip, 而仅仅是你新建环境下的pip)
1.安装包:
!!!!!!!!!!!!此时安装包 一律用 pip ,不用conda,因为这个环境不是conda创建的, 你conda 安装的包 是直接安装到了conda基础的那个环境(假设你已经安装了conda,并且没有conda新的环境)
换句话说,你的Terminal 实际上 帮你执行了 Scripts\activate 你这个环境,你的terminal是在你的虚拟环境里,只有pip 没有conda
2.删除:
删除环境直接把文件夹删除就行.
Conda创建环境:
这个时间比较长,要等很久.
输入相关命令可以发现conda已经安装了些许包:
在Pycharm 中的Terminal 中,也可以发现 项目的Terminal是默认进入了新的虚拟环境了的
直接conda install xx 安装的位置是:
\envs\环境名字\Lib\site-packages\
pip install xx 安装位置是:
同上
默认安装包的位置 都是Lib\site-packages\
所以
通过上面我们可以得到,以后Conda创建的环境先用conda 再用pip, 与 Virualenv 不同.
安装包:
离开进入环境
activate xxx
conda deactivate 只deactivateu是会有点问题的
删除环境
conda remove -n xxxx 删除某个包
conda env remove -n env_name 删除环境
conda常用命令:
# 获取版本号
conda -V
# 获取帮助
conda -h
# 环境管理命令帮助
conda env -h
# 列举所有环境
conda info --env
conda env list
# Python创建虚拟环境
conda create -n your_env_name python=x.x
# 复制某个环境
conda create --name new_env_name --clone old_env_name
# 彻底删除旧环境,则可以实现重命名环境
conda remove --name old_env_name --all # 注意:必须在base环境下进行以上操作,否则会出现各种莫名的问题。
# 激活或者切换虚拟环境
Windows: activate your_env_name
Linux: source activate your_env_nam
# 关闭虚拟环境(即从当前环境退出返回使用PATH环境中的默认python版本)
Windows: deactivate 或者 activate root 切回root环境
Linux:source deactivate
# 删除虚拟环境
conda remove -n your_env_name --all
# 删除环境钟的某个包
conda remove --name $your_env_name $package_name
# 列举包
conda list
conda list -n your_env_name # 列举非当前活跃环境下的所有包
# 安装包
conda install [package]
conda install -n your_env_name [package] # 安装非当前活跃环境下的包
conda install --channel https://conda.anaconda.org/anaconda tensorflow=1.8.0 # 指定版本和channel
# 升级包
conda update [package]
conda update conda # 升级conda
# 查找包
conda search -h # 查看search使用帮助信息
conda search tensorflow # 查看指定包可安装版本信息命令
conda search llama-index --channel conda-forge #指定频道搜索
# 卸载包
conda uninstall [package] # 卸载xxx文件包
# 清理包
conda clean -p //删除没有用的包 # 这个命令会检查哪些包没有在包缓存中被硬依赖到其他地方,并删除它们
conda clean -t //删除tar包
conda clean -y --all //删除所有的安装包及cache
# 分享环境
activate target_env # 进入要分享的环境
conda env export > environment.yml # 当前工作目录下生成一个environment.yml
conda env create -f environment.yml # 拿到environment.yml文件后,将该文件放在工作目录下,可以通过以下命令从该文件创建环境
总结:
Virualenv Environment和Conda区别:
Virualenv Environment创建的虚拟环境是比conda创建的环境在 打包整个项目(pyinstaller)时候 最后那个整个文件夹(包含exe 以及配套的一些依赖)要小很多很多的. conda 打包的文件都是800M 900M.
venv和virualenv 区别:
取自官方文档:https://packaging.python.org/en/latest/tutorials/installing-packages/#creating-virtual-environments
virualenv应该是被Pycharm默认集成了.