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文件。
之后可以通過下面的方式直接執行
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中打開某個文件,右鍵external tools > py2topy3就可以瞬間將當前文件所在目錄下的所有py2轉換成py3,是不是很機智!