zoukankan      html  css  js  c++  java
  • spacemacs及python学习-坑之记录

    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<你的用户名>AppDataRoaming目录下面然后可以使用 ~/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:UsersxxxxxAppDataLocalProgramsPythonPython36-32python.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 fuction

    2.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)代理服务器):127.0.0.1:54932 socket代理服务器: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.104
    usage: C:Program FilesGitmingw64inconnect.exe [-dnhst45] [-p local-port]
              [-H proxy-server[:port]] [-S [user@]socks-server[:port]]
              [-T proxy-server[:port]]
              [-c telnet-proxy-command]
              host port
    

    表示配置正确。

    • 建立 socks5proxywrapper 文件
    #!/bin/sh
    connect -S 127.0.0.1:54931 "$@"
    
    • 配置 git 修改你的home目录下的.gitconfig文件,如果没有请新建一个
    [core]
            gitproxy = ~/socks5proxywrapper
    

    或者

    export GIT_PROXY_COMMAND="~/socks5proxywrapper"
    
    • SSH 协议的配置
    • 建立 ~/soks5proxyssh 文件
    #!/bin/sh
    ssh -o ProxyCommand="~/socks5proxywrapper %h %p" "$@"
    
    • 配置 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/sh
    connect -H 192.168.1.100:8080 "$@"
    
    • 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: syncin),点击确定。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

     

  • 相关阅读:
    说到算法怎么可以少了排序呢~
    常用的re正则
    书到用时方恨少-- 正则,待修
    闲逛各个牛人的博客,观后感
    二叉树:B+tree等
    列表,链表,队列
    简述各种锁
    MongoDB
    python爬虫基础应用----爬取无反爬视频网站
    Django缓存管理的6种方法
  • 原文地址:https://www.cnblogs.com/cppddz/p/7416305.html
Copyright © 2011-2022 走看看