2.设置IDE皮肤主题
> Theme -> 选择“Alloy.IDEA Theme”
或者在setting中搜索theme可以改变主题,所有配色统一改变
File > settings > build.excution
每次打开python控制台时自动执行代码
> console > pyconsole
importsys#print('Python %s on %s' % (sys.version, sys.platform))
sys.path.extend([WORKING_DIR_AND_PYTHON_PATHS])importosprint('current workdirectory :', os.getcwd() )importnumpy as npimportscipy as spimport matplotlib as mpl
如果安装了ipython,则在pyconsole中使用更强大的ipython
> console
选中use ipython if available
这样每次打开pyconsole就会打开ipython
Note: 在virtualenv中安装ipython: (ubuntu_env) pika:/media/pika/files/mine/python_workspace/ubuntu_env$pip install ipython
File > settings > Languages & Frameworks
如果在项目设置中开启了django支持,打开python console时会自动变成打开django console,当然如果不想这样就关闭项目对django的支持:
如果打开支持就会在 settings > build.excution > console下多显示一个django console:
Django console设置如下
importsysprint('Python %s on %s' %(sys.version, sys.platform))importdjangoprint('Django %s' %django.get_version())
sys.path.extend([WORKING_DIR_AND_PYTHON_PATHS])if 'setup' indir(django): django.setup()import django_manage_shell; django_manage_shell.run(PROJECT_ROOT)
File > settings > Project : initial project
project dependencies > LDA > project depends on these projects > 选择sim_cluster就可以在LDA中调用sim_cluster中的包
pycharm环境和路径配置
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的设置[
解决方法2:在代码中设置,这样不管环境有没有问题了
#spark environment settings
importsys, 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'
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文件。
之后可以通过下面的方式直接执行
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'了,两个一起用更方便
python2转python3最快方式
/usr/bin/2to3 -wn $FileDir$
这样在pycharm中打开某个文件,右键external tools > py2topy3就可以瞬间将当前文件所在目录下的所有py2转换成py3,是不是很机智!