2020年12月

PyCharm自定义文件模板和代码模板

PyCharm支持配置自定义文件模板和代码模板,配置后每次新建文件均会自动填充模板内容,如:作者信息等。
code.png
设置路径
“PyCharm”→“File”→“Settings”→“Editor”→“File and Code Templates”→选择一个你想要设置的→输入模板配置→“确定”
2.png
所有文件都可以设置模板,附常用模板变量:

变量    含义
${PROJECT_NAME}    当前模板名称
${NAME}    文件创建时的文件名
${USER}    当前用户名
${DATE}    当前系统日期
${TIME}    当前系统时间
${YEAR}    年
${MONTH}    月
${DAY}    日
${HOUR}    小时
${MINUTE}    分钟
${PRODUCT_NAME}    创建文件IDE的名称
${MONTH_NAME_SHORT}    英文月份缩写, 如: Jan, Feb, etc
${MONTH_NAME_FULL}    英文月份全称, 如: January, February, etc

PyCharm使用autopep8格式化Python代码

PEP 8介绍:
PEP 8,Style Guide for Python Code,是Python官方推出编码约定,主要是为了保证 Python 编码的风格一致,提高代码的可读性。
官网地址:https://www.python.org/dev/peps/pep-0008/

Autopep8
Autopep8是自动将Python代码格式化为符合PEP 8风格的工具。它使用pycodestyle工具来确定代码的哪些部分需要被格式化。Autopep8能够修复大部分pycodestyle检测的格式问题。
github地址:https://github.com/hhatto/autopep8

使用pip安装Autopep8

pip install autopep8

查找autopep8的安装路径:

where autopep8
C:\Users\mahl01\.virtualenvs\python-project-APBqVzYh\Scripts\autopep8.exe

Autopep8命令行使用方式如下

autopep8 --in-place --aggressive --aggressive <filename>

Pycharm配置Autopep8方法:
1、选择菜单「File」–>「Settings」–>「Tools」–>「External Tools」–>点击加号添加工具
1.png
2、填写如下配置项,点击「OK」保存
2.png

Name:Autopep8 (可随意填写)

Tools settings:

    Programs:C:\Users\mahl01\.virtualenvs\python-project-APBqVzYh\Scripts\autopep8.exe 

    Parameters:--in-place --aggressive --ignore=E123,E133,E50 $FilePath$

    Working directory:$ProjectFileDir$

3、选择菜单「Tool」–>「Extern Tools」–>「Autopep8」即可使用autopep8自动格式化python代码了。
3.png
black的安装设置方法和Autopep8一致。

PyCharm修改格式化代码快捷键

安装Pycharm以后保存代码的时候并不会自动格式化代码,默认格式化代码的快捷键是CTRL+ALT+L比较麻烦,更改为Alt+F键,操作方法步骤如下:

1、File-Settings--keymap

2、找到需要修改的功能

3、鼠标右键选择——选择“add keyboard shortcut”

4、直接按需要设置的快捷键位,如ALT+F

5、最后应用即可,如下图:
format.png

实际go的fmt挺好用的,自动格式化。

go build 和 go install 的区别

首先,go install与go build都可生成执行文件,
go build
通过go build加上要编译的Go源文件名,可得到一个可执行文件,默认情况下这个文件的名字为源文件名字去掉,生成可执行的文件放在当前目录中。

$ go build  hellogo.go
$ ls
hellogo* hellogo.go

也可以通过-o选项来指定其他名字:

$ go build -o myfirstgo hellogo.go
$ ls
myfirstgo* hellogo.go

如果我们在go-examples目录下直接执行go build命令,后面不带文件名,我们将得到一个与目录名同名的可执行文件:

$ go build
$ ls
go-examples* hellogo.go

go install
与build命令相比,install命令在编译源码后还会将可执行文件或库文件安装到约定的目录下。
go install编译出的可执行文件以其所在目录名(DIR)命名
go install将可执行文件安装到与src同级别的bin目录下,bin目录由go install自动创建
go install 还会把导入的依赖包编译到 $GOPATH/pkg,并缓存,如果包未做更改,下次编译则直接使用缓存。
go build 命令加参数 -i 也能达到go install 的效果。
如项目很大,每次编译都要花很长时间,则建议使用 go install 来编译,充分使用它对依赖包的缓存功能。

安装Gin框架protobuf包的问题记录

运行gin框架报错如下:

package google.golang.org/protobuf/encoding/protojson: unrecognized import path "google.golang.org/protobuf/encoding/protojson"(https fetch: Get https://google.golang.org/protobuf/encoding/protojson?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)
package google.golang.org/protobuf/encoding/prototext: unrecognized import path "google.golang.org/protobuf/encoding/prototext"(https fetch: Get https://google.golang.org/protobuf/encoding/prototext?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)

缺少protobuf/encoding包引起的报错,代码已经转移到github上面了,但代码里面的包依赖还是没有修改,是google.golang.org这种,被墙后不能用go get形式安装。

---阅读剩余部分---

go get golang.org/x 包失败的解决方法

由于GFW限制问题,国内使用 go get 安装 golang 官方包可能会失败,如我自己在安装 collidermain 时,出现了以下报错:

$ go get collidermain
package golang.org/x/net/websocket: unrecognized import path "golang.org/x/net/websocket" (https fetch: Get https://golang.org/x/net/websocket?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)

其他包也有类似直接不成功的问题,不翻墙的情况下怎么解决这个问题?其实 golang 在 github 上建立了一个镜像库,如 https://github.com/golang/net 即是 https://golang.org/x/net 的镜像库
获取 golang.org/x/net 包,其实只需要以下步骤:

mkdir -p $GOPATH/src/golang.org/x
cd $GOPATH/src/golang.org/x
git clone https://github.com/golang/net.git

其它 golang.org/x 下的包获取皆可使用该方法解决。

最新

分类

归档

评论

其它