Mac或者linux系統自動加載python tab補全功能


  因為mac OS屬於類unix系統,所以基本和linux系統使用相差不大,只是用戶登陸時自動執行環境變量文件的區別

mac系統:

ShanedeMBP:login_api shane$ vi ~/.bash_profile

linux系統:

[root@localhost ~]# ls -a .bash*
.bash_history  .bash_logout  .bash_profile  .bashrc

linux中有bash_profile,bashrc,以下是區別:


 

/etc/profile:此文件為系統的每個用戶設置環境信息,當用戶第一次登錄時,該文件被執行.並從/etc/profile.d目錄的配置文件中搜集shell的設置.

/etc/bashrc:為每一個運行bash shell的用戶執行此文件.當bash shell被打開時,該文件被讀取.

~/.bash_profile:每個用戶都可使用該文件輸入專用於自己使用的shell信息,當用戶登錄時,該
文件僅僅執行一次!默認情況下,他設置一些環境變量,執行用戶的.bashrc文件.
~/.bashrc:該文件包含專用於你的bash shell的bash信息,當登錄時以及每次打開新的shell時,該文件被讀取
~/.bash_logout:當每次退出系統(退出bash shell)時,執行該文件. 
另外,/etc/profile中設定的變量(全局)的可以作用於任何用戶,而~/.bashrc等中設定的變量(局部)只能繼承/etc/profile中的變量,他們是"父子"關系.
~/.bash_profile 是交互式、login 方式進入 bash 運行的
~/.bashrc 是交互式 non-login 方式進入 bash 運行的
通常二者設置大致相同,所以通常前者會調用后者。


 

寫一個tab.py,Code:

import sys
import readline
import rlcompleter

if sys.platform == 'darwin' and sys.version_info[0] == 2:
    readline.parse_and_bind("bind ^I rl_complete")
else:
    readline.parse_and_bind("tab: complete")

 

然后在.bash_profile文件中追加一行即可。

export PYTHONSTARTUP=/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/tab.py

 

 source下.bash_profile文件,即可自動補全。

另外,tab.py存放路徑,可通過python中的sys模塊查詢:

import sys
print(sys.path)

 

執行結果:

>>> import sys
>>> print(sys.path)
['', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python35.zip', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/plat-darwin', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/lib-dynload', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages']
>>> 

 

一般存放於帶site-packages字符的目錄。


免責聲明!

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



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