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文件。

之后可以通過下面的方式直接執行

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,是不是很機智!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM