Pycharm常用配置
pycharm中的設置是可以導入和導出的,file>export settings 可以保存當前pycharm中的設置為jar文件,重裝時可以直接import settings>jar文件,就不用重復配置了。
file -> Setting ->Editor
1. 設置Python自動引入包,要先在 >general > autoimport -> python :show popup
快捷鍵:Alt + Enter: 自動添加包2. “代碼自動完成”時間延時設置
> Code Completion -> Auto code completion in (ms):0 -> Autopopup in (ms):500
3.Ctrl+滾輪改變字體大小
Pycharm中默認是不能用Ctrl+滾輪改變字體大小的,可以在〉Mouse中設置
4. 顯示“行號”與“空白字符”
> Appearance -> 勾選“Show line numbers”、“Show whitespaces”、“Show method separators”
5. 設置編輯器“顏色與字體”主題
> Colors & Fonts -> Scheme name -> 選擇"monokai"“Darcula”
說明:先選擇“monokai”,再“Save As”為"monokai-pipi",因為默認的主題是“只讀的”,一些字體大小顏色什么的都不能修改,拷貝一份后方可修改!
修改字體大小
> Colors & Fonts -> Font -> Size -> 設置為“14”
6. 設置縮進符為制表符“Tab”
File -> Default Settings -> Code Style
-> General -> 勾選“Use tab character”
-> Python -> 勾選“Use tab character”
-> 其他的語言代碼同理設置
7. 去掉默認折疊> Code Folding -> Collapse by default -> 全部去掉勾選
8. pycharm默認是自動保存的,習慣自己按ctrl + s 的可以進行如下設置:> General -> Synchronization -> Save files on frame deactivation 和 Save files automatically if application is idle for .. sec 的勾去掉
Editor Tabs -> Mark modified tabs with asterisk 打上勾
9.設置py文件通用模板
> file and code template>python scripts
# -*- coding: utf-8 -*- # @Time : ${DATE} ${TIME} # @Author : ZMH # @Email : xxx@qq.com # @File : ${NAME}.py # @Software: ${PRODUCT_NAME} # @ Describe: --------------------
10 python文件默認編碼
File Encodings> IDE Encoding: UTF-8;Project Encoding: UTF-8;
11. 代碼自動整理設置
這里line breaks去掉√,否則bar, 和baz會分開在不同行,不好看。
File -> Settings -> appearance
1. 修改IDE快捷鍵方案
> Keymap
execute selection in console : add keymap > ctrl + enter
系統自帶了好幾種快捷鍵方案,下拉框中有如“defaul”,“Visual Studio”,在查找Bug時非常有用,“NetBeans 6.5”,“Default for GNOME”等等可選項,
因為“Eclipse”方案比較大眾,個人用的也比較多,最終選擇了“Eclipse”。
還是有幾個常用的快捷鍵跟Eclipse不一樣,為了能修改,還得先對Eclipse方案拷貝一份:
(1).代碼提示功能,默認是【Ctrl+空格】,現改為跟Eclipse一樣,即【Alt+/】
Main menu -> code -> Completion -> Basic -> 設置為“Alt+/”
Main menu -> code -> Completion -> SmartType -> 設置為“Alt+Shift+/”
不過“Alt+/”默認又被
Main menu -> code -> Completion -> Basic -> Cyclic Expand Word 占用,先把它刪除再說吧(單擊右鍵刪除)!
(2).關閉當前文檔,默認是【Ctrl+F4】,現改為跟Eclipse一樣,即【Ctrl+W】
Main menu -> Window -> Active Tool Window -> Close Active Tab -> 設置為 “Ctrl+F4”;
Main menu -> Window -> Editor -> Close -> 設置為 “Ctrl+W”;2.設置IDE皮膚主題
> Theme -> 選擇“Alloy.IDEA Theme”
或者在setting中搜索theme可以改變主題,所有配色統一改變
File > settings > build.excution
每次打開python控制台時自動執行代碼
> console > pyconsole
import sys # print('Python %s on %s' % (sys.version, sys.platform)) sys.path.extend([WORKING_DIR_AND_PYTHON_PATHS]) import os print('current workdirectory : ', os.getcwd() ) import numpy as np import scipy as sp import 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設置如下
import sys print('Python %s on %s' % (sys.version, sys.platform)) import django print('Django %s' % django.get_version()) sys.path.extend([WORKING_DIR_AND_PYTHON_PATHS]) if 'setup' in dir(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的設置[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'
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,是不是很機智!