之前对于pycharm中的各种解释器的设置一头雾水,今天来总结一下。
关于pycharm 的两种建立环境方式
在建立新的project的时候有两种方式,一种是conda环境,一种是virtual环境。其实这两种方式都可以将不同的project和环境隔离开。这也就意味着我们可以将project可以设置成我们任意想要的版本形式,比如我可以在A project中用的是python2.7.在Bproject 中用的是python 3.6这两个project互不影响冲突。
问:我如何建立一个conda环境?
答:
conda create --name enviroment_name python=3.6
conda info --envs 或者conda info -e来查看现在的环境。
conda list 来查看现在环境下面的包
conda remove -n env_name pack_name 删除指定环境的包
conda remove -n env_name --all 删除环境
问:我们怎么把第三方库/包安装在指定的conda enviroment 中?
第一步,激活目标环境。
source activate enviroment_name
第二步,安装第三方包。
conda install packagesname
conda uninstall packagesname
问:要安装的包出现-PackageNotFoundError: ''Package missing in current channels怎么办?
答:这说明你要装的包在当前源下不存在。有三种方式:
1.将源网址目录也找到。
conda config --append channels conda-forge。这个命令可以告诉conda在找包的同时,把源网址也找到。
conda install -c conda-forge
2.用anaconda先找网址
anaconda search -t conda package_name
anaconda show package_name
然后根据提示来安装。
3.采用pip方式安装
pip install packname=0.14
问:我之前安装的第三方库都装在哪里了?
答:我之前安装的第三方库都安装到了默认环境中。在anaconda3/pkgs中放的是所有下载的包。其中支持python2.7的包安到anaconda3/lib/python2.7/site-packages中。支持python3.6的包直接安装到了anaconda3/lib/python3.6/site-packages中。
问:为什么我安装pymouse后,python的版本掉到了2.7,而python3.6不知所踪?
答:因为pymouse只支持py2.7,在安装时将python3.6降版本了。
问:我可以通过复制包文件吗?
答:终端使用pip下载的第三方package将存放在以下目录:
/usr/local/lib/python3.5/dist-packages。这里可以将终端安装好的包导入到pycharm中。
问:以上方式太复杂了,pycharm可以装吗?
答:可以。只需要点击project interpreter 中的加号就可以了。
问:怎么在ubunu prompt中更改python版本?也就是更改base— environment的版本?
答:需要先卸载原先的python2.7,再安装python3.6。
问:关于环境变量问题?
export PATH="/usr/local/anaconda3/bin:$PATH"
这里用了anaconda默认环境的解释器。注释后,就用的是系统python解释器。
问:如何添加国内镜像源?
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/#TUNA的help中镜像地址有引号,去掉conda config --set show_channel_urls yes#设置搜索时,显示通道地址
问:博主是怎么做的?
为了方便,我通常是这么做的。先建立几个常用的conda环境,比如python3.6和python2.7。然后以后在pytcharm中创建project的时候,直接在existing-interpreter中选择就可以。如果在existing interpreter中没找到的话,点击小齿轮,选择本地local,然后选择 conda enviroment,再选择我之前建好的conda环境下的python解释器。比如我这里选择的是python3.6解释器,那么我就找到如下目录/home/quinn/anaconda3/envs/python36/bin/,然后点击选择python3.6就可以了。
同理,你也可以选择ubuntu自带的python解释器。
问:为什么程序开头有#! /usr/bin/python # -*-
这是脚本语言共同遵守的规则:当第一行为 #!/path/to/script/interpreter时,指定了用来执行本脚本的解释器。
注意:
1、必须是文件的第一行
2、必须以#!开头
3、/path/to/script/interpreter是脚本解释器的全路径名。
例如:
#!/bin/sh shell脚本
#!/usr/bin/perl perl脚本
#!/usr/bin/python python脚本
#!/usr/bin/python3 python3脚本
#!/usr/bin/python2 python2脚本
而有时不太清楚脚本解释器的具体全路径名;或者开发环境与运行环境的安装路径不同。为了保证兼容性,也可以写作:#!/usr/bin/env python3
领取专属 10元无门槛券
私享最新 技术干货