1. 程式人生 > 其它 >pycharm環境和路徑配置和實用拓展功能

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,無論在pythonconsole還是在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,是不是很機智!