pycharm环境和路径配置和实用拓展功能

python解释器路径

python项目解释器路径

用于配置python项目执行的python路径

比如,有的项目是运行的是系统python2.7下的环境;有的是3.4;有的项目使用的是virtualenv的python环境[python虚拟环境配置 - pycharm中的项目配置]

在pycharm > file > settings > project:pythonworkspace > project interpreter > 选择对应项目 > project interpreter中指定python解释器

pycharm中运行configuration有一个选项add content roots to pythonpath

选中后sys.path中会多一整个项目project的路径/media/pika/files/mine/python_workspace,里面的目录就被当成包使用,这样就可以通过from SocialNetworks.SocialNetworks引入不是python包的目录中的文件了。

不过最好使用sys.path.append(os.path.join(os.path.split(os.path.realpath(__file__))[0],"../.."))来添加,这样在pycharm外也可以运行不出错 。

 

pycharm中进行python包管理

pycharm中的项目中可以包含package、目录(目录名可以有空格)、等等

目录的某个包中的某个py文件要调用另一个py文件中的函数,首先要将目录设置为source root,这样才能从包中至上至上正确引入函数,否则怎么引入都出错:

SystemError: Parent module ‘‘ not loaded, cannot perform relative import

Note:目录 > 右键 > make directory as > source root

python脚本解释路径

ctrl + shift + f10 / f10 执行python脚本时

当前工作目录cwd为run/debug configurations 中的working directory

可在edit configurations > project or defaults中配置

console执行路径和当前工作目录

python console中执行时

cwd为File > settings > build.excution > console > pyconsole中的working directory

并可在其中配置

pycharm配置os.environ环境

pycharm中os.environ不能读取到terminal中的系统环境变量

pycharm中os.environ不能读取.bashrc参数

使用pycharm,无论在python console还是在module中使用os.environ返回的dict中都没有~/.bashrc中的设置的变量,但是有/etc/profile中的变量配置。然而在terminal中使用python,os.environ却可以获取~/.bashrc的内容。

解决方法1:

 

在~/.bashrc中设置的系统环境只能在terminal shell下运行Spark程序才有效,因为.bashrc is only read for interactive shells.

如果要在当前用户整个系统中都有效(包括pycharm等等IDE),就应该将系统环境变量设置在~/.profile文件中。如果是设置所有用户整个系统,修改/etc/profile或者/etc/environment吧。

如SPARK_HOME的设置[Spark:相关错误总结 ]

解决方法2:在代码中设置,这样不管环境有没有问题了

 

    # spark environment settings
    import sys, os
    os.environ[SPARK_HOME] = conf.get(SECTION, SPARK_HOME)
    sys.path.append(os.path.join(conf.get(SECTION, SPARK_HOME), python))
    os.environ["PYSPARK_PYTHON"] = conf.get(SECTION, PYSPARK_PYTHON)
    os.environ[SPARK_LOCAL_IP] = conf.get(SECTION, SPARK_LOCAL_IP)
    os.environ[JAVA_HOME] = conf.get(SECTION, JAVA_HOME)
    os.environ[PYTHONPATH] = $SPARK_HOME/python/lib/py4j-0.10.3-src.zip:$PYTHONPATH

ycharm配置第三方库代码自动提示

 

Pycharm实用拓展功能

pycharm中清除已编译.pyc中间文件

选中你的workspace > 右键 > clean python compiled files

 

还可以自己写一个清除代码

pycharm设置外部工具

[python小工具 ]针对当前pycharm中打开的py文件对应的目录删除其中所有的pyc文件。如果是直接运行(而不是在下面的tools中运行),则删除E:\mine\python_workspace\WebSite目录下的pyc文件。

将上面的删除代码改成外部工具

PyCharm > settings > tools > external tools > +添加

Name: DelPyc

program: $PyInterpreterDirectory$/python Python安装路径

Parameters: $ProjectFileDir$/Oth/Utility/DelPyc.py $FileDir$

Work directory: $FileDir$

Note:Parameters后面的 $FileDir$参数是说,DelPyc是针对当前pycharm中打开的py文件对应的目录删除其中所有的pyc文件。

之后可以通过下面的方式直接执行

pycharm环境和路径配置和实用拓展功能

Note:再添加一个Tools名为DelPycIn

program: Python安装路径,e.g.     D:\python3.4.2\python.exe

Parameters: E:\mine\python_workspace\Utility\DelPyc.py

Work directory 使用变量 $FileDir$

参数中没有$FileDir$,这样就可以直接删除常用目录r‘E:\mine\python_workspace\WebSite‘了,两个一起用更方便

代码质量

当你在打字的时候,PyCharm会检查你的代码是否符合PEP8。它会让你知道,你是否有太多的空格或空行等等。如果你愿意,你可以配置PyCharm运行pylint作为外部工具。

python2转python3最快方式

/usr/bin/2to3 -wn $FileDir$

pycharm环境和路径配置和实用拓展功能

这样在pycharm中打开某个文件,右键external tools > py2topy3就可以瞬间将当前文件所在目录下的所有py2转换成py3,是不是很机智!

pycharm环境和路径配置和实用拓展功能

上一篇:常见的字符串处理方式


下一篇:VSCode入门