spacemacs及python學習-坑之記錄

來源:互聯網
上載者:User

標籤:.net   報錯   ini   項目   ef6   xxxxx   任務計劃   soc   git 使用   

Table of Contents
  • 1. spacemacs
    • 1.1. .spacemacs 檔案
    • 1.2. 專案檔
    • 1.3. open shell windows
    • 1.4. emacs基礎
      • 1.4.1. 自動刪除沒有用到的package
      • 1.4.2. 自動縮排 indent-region
      • 1.4.3. dired-mode
    • 1.5. 配置emacs使用本地elpa庫
      • 1.5.1. 方法1
      • 1.5.2. 方法2
    • 1.6. emacs中無法啟動pythonshell
  • 2. python
    • 2.1. builtin fuction
    • 2.2. 查看python內建函數的方法
    • 2.3. a test is not a unit test if :
  • 3. 網路問題
    • 3.1. 使用lantern和設定git代理解決 gitgub clone 緩慢的問題。
      • 3.1.1. lantern
      • 3.1.2. STARTED GIT代理
  • 4. rsync同步elpa庫
    • 4.1. 下載windows 用戶端
    • 4.2. 添加用戶端bin目錄到環境變數中
    • 4.3. 同步elpa庫
    • 4.4. 添加自動同步任務
1 spacemacs 1.1 .spacemacs 檔案1.2 專案檔

在項目根目錄下建立一個空檔案:

.projectile
1.3 open shell windows

hM-x eshell M-x shell

1.4 emacs基礎 1.4.1 自動刪除沒有用到的package

M-x package-autoremove

1.4.2 自動縮排 indent-region

C-M-\ 自動縮排所選的代碼或者縮排所有代碼

1.4.3 dired-mode

+: 建立一個目錄 C-x C-f :新增一個檔案 g: 重新整理目錄 c: 複製檔案 d:標記刪除檔案 x: 執行所有標記

1.5 配置emacs使用本地elpa庫

在同步了elpa庫到本地後,想要在讓emacs使用本地的庫。

1.5.1 方法1

在.emacs.d/init.el開頭添加如下代碼

(require ‘package)(setq package-enable-at-startup nil)(setq package-archives ‘(("melpa" . "~/.emacs.d/mirror-elpa/melpa/")                         ("org"   . "~/.emacs.d/mirror-elpa/org/")                         ("gnu"   . "~/.emacs.d/mirror-elpa/gnu/")))
1.5.2 方法2

如果使用的是spacemacs,則在 defun dotspacemacs/user-init 函數內添加如下代碼 windows的下使用絕對路徑,格式是//?/盤符/檔案夾 ,或者可以把鏡像放到你的C:\Users\<你的使用者名稱>\AppData\Roaming目錄下面然後可以使用 ~/elpa-mirror/melpa/ 這樣的路徑

(setq configuration-layer--elpa-archives    ‘(("melpa-cn" . "//?/f:/elpa-mirror/melpa/")      ("org-cn"   . "//?/f:/elpa-mirror/org/")      ("gnu-cn"   . "//?/f:/elpa-mirror/gnu/")))
1.6 emacs中無法啟動pythonshell

每次啟動python shell都報錯

Unknown option: --usage: c:\Users\xxxxx\AppData\Local\Programs\Python\Python36-32\python.exe [option] ... [-c cmd | -m mod | file | -] [arg] ...Try `python -h‘ for more information.Process Python exited abnormally with code 2

解決辦法,M-x customize-group,接著輸入python斷行符號,然後找到python shell interpreter args。然後改成-i,左鍵state然後選save for future session. 如果是spacemacs,需要在.spacemacs檔案中把參數寫到 dotspacemacs-configuration-layers的python變數裡。

(python :variables         python-test-runner ‘(nose pytest)         python-shell-interpreter-args "-i")
2 python 2.1 builtin fuction2.2 查看python內建函數的方法
dir(__builtins__)
2.3 a test is not a unit test if :
  • read or write from the filesystem
  • read or write from the network
  • read or write from a database
  • cannot run tests in parallel
  • test suite depends on a environment configuration
  • the execution order of the tests is important to make all tests passes
  • test is run not fast
3 網路問題 3.1 使用lantern和設定git代理解決 gitgub clone 緩慢的問題。 3.1.1 lantern

首先,你需要下載lantern,這是連結

3.1.2 STARTED GIT代理

Git 目前支援的三種協議 git://、ssh:// 和 http://,其代理配置各不相同:core.gitproxy 用於 git:// 協議,http.proxy 用於 http:// 協議,ssh:// 協議的代理需要配置 ssh 的 ProxyCommand 參數。對於所有的協議全部使用 SSH 隧道進行代理

  • GIT 協議的配置
  • lantern的代理連接埠:

http(s)Proxy 伺服器):127.0.0.1:54932 socketProxy 伺服器:127.0.0.1:54931 如果不確定,雙擊lantern會開啟一個web頁面,點擊【設定】》【進階設定】,會顯示lantern的代理配置。

  • 下載connect工具

使用 https://bitbucket.org/gotoh/connect 工具進行代理的轉換,各發行版一般打包為 proxy-connect 或者 connect-proxy。開啟上面的連結後,在頁面的左邊最下面點擊Downloads。點擊connect-1.104-win32-msvc.zip下載到本地。解壓檔案,將檔案connect.exe所在的目錄添加到環境變數的PATH中。開啟CMD命令視窗,輸入connect斷行符號。如果提示:

connect --- simple relaying command via proxy.Version 1.104usage: C:\Program Files\Git\mingw64\bin\connect.exe [-dnhst45] [-p local-port]          [-H proxy-server[:port]] [-S [[email protected]]socks-server[:port]]          [-T proxy-server[:port]]          [-c telnet-proxy-command]          host port

表示配置正確。

  • 建立 socks5proxywrapper 檔案
#!/bin/shconnect -S 127.0.0.1:54931 "[email protected]"
  • 配置 git 修改你的home目錄下的.gitconfig檔案,如果沒有請建立一個
[core]        gitproxy = ~/socks5proxywrapper

或者

export GIT_PROXY_COMMAND="~/socks5proxywrapper"
  • SSH 協議的配置
  • 建立 ~/soks5proxyssh 檔案
#!/bin/shssh -o ProxyCommand="~/socks5proxywrapper %h %p" "[email protected]"
  • 配置 git 使用該 wrapper
export GIT_SSH="~/socks5proxyssh“

當然也可以直接配置 ~/.ssh/config 的 ProxyCommand

  • HTTP 協議的配置

修改你的home目錄下的.gitconfig檔案,如果沒有請建立一個

[http]        #這裡是因為 Git 使用 libcurl 提供 http 支援        proxy = socks5://127.0.0.1:54931
  • 所有協議全部使用 http 代理

在前一部分的基礎上, /path/to/socks5proxywrapper 檔案改為

#!/bin/shconnect -H 192.168.1.100:8080 "[email protected]"
  • HTTP 協議配置

[http] proxy = http://127.0.0.1:54931

  • 針對網域名稱啟用代理

gitproxy 參數提供 * for * 結構,具體看 man git-config 的 core.gitproxy 部分。

4 rsync同步elpa庫 4.1 下載windows 用戶端

串連地址

4.2 添加用戶端bin目錄到環境變數中
  • 將安裝包解壓到任意位置。
  • 添加用戶端路徑到path變數中右鍵點擊電腦》屬性》進階系統設定》進階》環境變數

找到系統變數的PATH變數,點擊編輯按鈕。 windows10系統點擊建立,輸入用戶端的bin目錄絕對路徑(如:F:\rsync\bin),點擊確定。windows其他版本系統,將路徑添加到值的最後。

4.3 同步elpa庫

rsync -avzP –delete rsync://mirrors.tuna.tsinghua.edu.cn/elpa/ /cygdrive/f/elpa-mirror

-delete 選項,表示用戶端上的資料要與伺服器端完全一致,如果 linuxsirhome目錄中有伺服器上不存在的檔案,則刪除。最終目的是讓linuxsirhome目錄上的資料完全與伺服器上保持一致;用的時候要 小心點,最好不要把已經有重要數所據的目錄,當做本地更新目錄,否則會把你的資料全部刪除; /cygdrive/f/elpa-mirror 為同步到本地的目錄。設定檔中寫路徑時格式要轉換,例如我這裡把目錄放到f盤,則這麼寫/cygdrive/f/你的目錄

整個鏡像約佔 1 GB,emacs-china rsync地址為:rsync://elpa.emacs-china.org/elpa/下遊 Tsinghua Mirrors 的 ELPA 鏡像 也提供了 Rsync 服務,地址是:rsync://mirrors.tuna.tsinghua.edu.cn/elpa/上遊 GNU ELPA 和 MELPA 提供了 Rsync 服務,其地址分別為:rsync://elpa.gnu.org/elpa/rsync://melpa.org/packages/
4.4 添加自動同步任務

將同步命令添加到window的工作清單中,實現自動同步

  • 將同步命令儲存到一個以cmd結尾的文字檔中
  • 在Window中新增工作計劃,不同的系統,操作有點不一樣 windows xp/Server 2003 : 開始->設定->控制台->任務計劃->開啟新增工作計劃->下一步 windows 7/Server 2008 : 開始-> 控制台 -> 管理工具 -> 任務計劃 windows 10 在運行中輸入 工作排程器 開啟任務計劃面板在常規中填寫任務名稱,在觸發器中設定同步間隔,在操作中指定要執行的檔案。

Created: 2017-08-23 周三 08:08

 

spacemacs及python學習-坑之記錄

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.