参考:
获取python及三方包的版本,安装路径等信息 - 知乎 (zhihu.com)
一、查看python的安装路径和版本
# cmd中查看
# Windows下查看python 版本与Linux查看python版本方法一致,在命令行下输入
python --version
#或
python -v
# Windows 下查看python安装路径,在命令行输入:
where python
# Linux下查看当前python安装路径,在命令行输入:
whichis python
# 或者查看所有python所在路径
whereis python
# python 编辑器中查看
import sys
print(sys.version_info) # python版本信息
print(sys.version) # python版本信息
print(sys.executable) # python安装路径
二、Conda命令
这里面一定注意,不要把anaconda装到C盘。因为你后面会有好多个虚拟环境,安装很多包;另外,建议把conda命令加入到环境变量里面去。
强调安装pytorch的环境有啥包问题一定要先切换到该环境,别一直在主环境了安装。
#查看状态
conda config --show
# 查看信息
conda info
# 查看环境
conda info -e 或者conda env list
# 切换环境
conda activate <其他环境>
# 列出当前环境下安装的包, 非常常用
conda list
# 搜索包
conda search package_name
# 实验过程中,如果发现某些包没有,直接安装
conda install package_name # 也可以带版本号
pip install package_name
# 如果发现装错版本了,想要卸载掉包
conda remove package_name
pip uninstall package_name
# 更新包
conda update package_name
#新建虚拟环境 可以指定python版本和一些包的版本
conda create -n env_names package_names # conda create -n tfenv python=3.7
# 进入虚拟环境,这时候面临着对一些包的操作,就是上面包的相关命令了
activate tfenv
# 离开虚拟环境
deactivate
# 删除虚拟环境
conda env remove -n env_name
# 配置下载通道
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes
# pytorch
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
# 安装时PyTorch,官网给的安装命令需要去掉最后的-c pytorch,才能使用清华源
# conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
# msys2
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
# bioconda
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
# menpo
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/
# 设置搜索时显示通道地址
conda config --set show_channel_urls yes
######以上和以下两者貌似等价,但下面(不一定有用)
# 生成文档
conda config --set show_channel_urls yes
# 生成文件,C:\Users\14193\.condarc
# 然后打开,复制粘贴以下命令,保存即可
channels:
- defaults
show_channel_urls: true
channel_alias: https://mirrors.tuna.tsinghua.edu.cn/anaconda
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
# 试试这个
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
show_channel_urls: true
# 先把更新conda到最新版
# conda update conda
# 建议使用,官方提示语句
conda update -n base -c defaults conda
# 然后把anaconda更新的新版,只有base这个环境更新到最新
conda update anaconda
conda update anaconda-navigator //update最新版本的anaconda-navigator
# 进入到需要升级的配置环境,也更新到最新版的Anaconda
conda update --all
# 查看conda环境详细信息:
conda info
# 分享/备份环境,环境的.yml文件。
# 首先激活到要分享的环境,在当前工作目录下生成一个environment.yml文件。
conda env export > environment.yml
# 对方拿到environment.yml文件后,将该文件放在工作目录下,可以通过以下命令从该文件创建环境。
conda env create -f environment.yml
三、查看CUDA和安装Pytorch
cmd查看CUDA版本
nvidia-smi
CUDA Toolkit 11.7 Downloads | NVIDIA Developer
pytorch官网:PyTorch
创建虚拟环境
其中,pytorch-gpu为虚拟环境名,可以自己设置。
- 切换到新建虚拟环境下
#进入虚拟环境
conda activate myTorchGpu
#切换镜像源,conda中只要这条语句就可以下载pytorch
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
#安装pytorch
#中间安装失败,再重复安装命令即可
conda install pytorch torchvision torchaudio cudatoolkit=11.3
#等待安装完成,之后进行验证,依次输入以下命令,GPU和CPU都可以使用这个验证
python
import torch
print(torch.__version__) #注意是双下划线
torch.cuda.is_available()
如果结果为true,则表示安装成功。
删除虚拟环境
conda activate base
conda remove -n pytorch-gpu --all
四、Conda安装包的方法
在线安装
先说在线安装,首先打开Anaconda Prompt,就是Anaconda的命令行
1. 用conda install pkgname即可,pkgname为包名
2. 当找不到包的时候,尝试下面的语句
conda install -c conda-forge pkgname
3. 依旧找不到的话,用下面的搜索包名,进行最后尝试
anaconda search -t conda pkgname 找到需要的pkgname全名后,输入下面的指令
anaconda show pkgname(全名),会列出channel_url
最后根据列出来的url(就是看着像网址的那些)选择相应版本,输入下面的指令进行下载
conda install --channel channel_url pkgname
本地安装
如果上述都不可行,尝试下载后进行本地安装(zip/.tar.gz)
1. 从github(或者其他来源)中下载zip
解压后里面有一个setup.py的文件
在命令行中进入解压路径,输入python setup.py install
然后会出现dist文件夹,其中会生成一个.tar.gz类型文件,后续同下种方式
2. 下载.tar.gz类型文件
根据文件的绝对路径执行命令conda install --use-local pkg
其中,pkg为绝对路径
加载yaml文件
activate tfenv #进入环境
# 安装所有包
conda env update -f=/path/to/environment.yaml
附录:系统信息代码
# coding:utf-8
import platform
# global var
# 是否显示日志信息
SHOW_LOG = True
def get_platform():
'''获取操作系统名称及版本号'''
return platform.platform()
def get_version():
'''获取操作系统版本号'''
return platform.version()
def get_architecture():
'''获取操作系统的位数'''
return platform.architecture()
def get_machine():
'''计算机类型'''
return platform.machine()
def get_node():
'''计算机的网络名称'''
return platform.node()
def get_processor():
'''计算机处理器信息'''
return platform.processor()
def get_system():
'''获取操作系统类型'''
return platform.system()
def get_uname():
'''汇总信息'''
return platform.uname()
def get_python_build():
''' the Python build number and date as strings'''
return platform.python_build()
def get_python_compiler():
'''Returns a string identifying the compiler used for compiling Python'''
return platform.python_compiler()
def get_python_branch():
'''Returns a string identifying the Python implementation SCM branch'''
return platform.python_branch()
def get_python_implementation():
'''Returns a string identifying the Python implementation. Possible return values are: ‘CPython’, ‘IronPython’, ‘Jython’, ‘PyPy’.'''
return platform.python_implementation()
def get_python_version():
'''Returns the Python version as string 'major.minor.patchlevel'
'''
return platform.python_version()
def get_python_revision():
'''Returns a string identifying the Python implementation SCM revision.'''
return platform.python_revision()
def get_python_version_tuple():
'''Returns the Python version as tuple (major, minor, patchlevel) of strings'''
return platform.python_version_tuple()
def show_python_all_info():
'''打印python的全部信息'''
print('The Python build number and date as strings : [{}]'.format(get_python_build()))
print('Returns a string identifying the compiler used for compiling Python : [{}]'.format(get_python_compiler()))
print('Returns a string identifying the Python implementation SCM branch : [{}]'.format(get_python_branch()))
print('Returns a string identifying the Python implementation : [{}]'.format(get_python_implementation()))
print('The version of Python : [{}]'.format(get_python_version()))
print('Python implementation SCM revision : [{}]'.format(get_python_revision()))
print('Python version as tuple : [{}]'.format(get_python_version_tuple()))
def show_python_info():
'''只打印python的信息,没有解释部分'''
print(get_python_build())
print(get_python_compiler())
print(get_python_branch())
print(get_python_implementation())
print(get_python_version())
print(get_python_revision())
print(get_python_version_tuple())
def show_os_all_info():
'''打印os的全部信息'''
print('获取操作系统名称及版本号 : [{}]'.format(get_platform()))
print('获取操作系统版本号 : [{}]'.format(get_version()))
print('获取操作系统的位数 : [{}]'.format(get_architecture()))
print('计算机类型 : [{}]'.format(get_machine()))
print('计算机的网络名称 : [{}]'.format(get_node()))
print('计算机处理器信息 : [{}]'.format(get_processor()))
print('获取操作系统类型 : [{}]'.format(get_system()))
print('汇总信息 : [{}]'.format(get_uname()))
def show_os_info():
'''只打印os的信息,没有解释部分'''
print(get_platform())
print(get_version())
print(get_architecture())
print(get_machine())
print(get_node())
print(get_processor())
print(get_system())
print(get_uname())
def test():
print('操作系统信息:')
if SHOW_LOG:
show_os_all_info()
else:
show_os_info()
print('#' * 50)
print('计算机中的python信息:')
if SHOW_LOG:
show_python_all_info()
else:
show_python_info()
def init():
global SHOW_LOG
SHOW_LOG = True
def main():
init()
test()
if __name__ == '__main__':
main()