1. 使用 RMarkdown 的 child 参数,进行文档拼接。
  2. 这样拼接以后的笔记方便复习。
  3. 相关问题提交到 Issue

2 创建 R proj

然后 create_project 方便构建,这样可以用 RStudio 管理项目。

调用 dev_history 脚本。

3 从原项目 copy 文件

  1. 用另存为加入 ipynb,因为这样不会带入一些历史信息。 或者,在原有项目构建的话,把 ipynb 文档放到根目录。 file_copy("xxx.ipynb", "model.ipynb") 最好清洗干净后加入过来。 复制过来以后直接 Restart and clear output。 人工查看了没有敏感词,但是可以把包发出来。

  2. pull 最新的代码

  3. 复制 settings.ini 的信息和setup.py文件

    nbdev_build_lib 报错,没有 copy docs

  4. 更改许可证 r usethis::use_apl2_license()

  5. 增加 sample 数据

    3 创建README

把 index 页面复制。

5 创建函数

文档开头加上# default_exp plot

8 make release 失效

NB: make release will automatically increment the version number in settings.py before pushing a new release to pypi. If you don’t want to do this, run make pypi instead.

make release 这个命令不存在。

10 docs 不要用中文

会生成乱码。

11 其他 ipynb 写法

如果不需要生成 docs 只是 Python 包,那么就不需要完成。

这样会如同 Rmd 文档的 yaml block 一样,转换成 HTML 文件的标题等。 custom_sidebar = False不要乱改。

  1. 更新settings.ini的参数custom_sidebar = True 参考 https://nbdev.fast.ai/cli/#create_default_sidebar

  2. 并且修改docs/sidebar.json

12 多个作者

    <h4 align="center">**Code of Conduct**</h4>

<h6 align="center">Please note that the `learn_dev_py_pkg` project is released with a [Contributor Code of Conduct](https://github.com/JiaxiangBU/learn_dev_py_pkg/blob/master/CODE_OF_CONDUCT.md).<br>By contributing to this project, you agree to abide by its terms.</h6>

<h4 align="center">**License**</h4>

<h6 align="center">What license it uses &copy; [Jiaxiang Li and Shuyi Wang](https://github.com/JiaxiangBU/learn_dev_py_pkg/blob/master/LICENSE.md)</h6>

13 todos 进 commit

放到 commit 最后都可以整理成 NEWS 的!

14 Update NEWS

以包 add2md 为例。

add2git:::commit2news(repo_path = ,min = ,max = )
  1. updated the function of checkbox with the feature checked -> unchecked.
  2. updated the function checkbox with the feature checked.
  3. reformatted code.
  4. depreciated the function append_archive.
  5. fixed bugs and typos and encoding problems.
  6. translated non-ASCII characters into unicode, add @params args, delete packrat, ignore docs-building, add global variables.
  7. updated imported packages, and remove depreciated functions in vignettes document.
  8. added the function add_wechat_portfolio.
  9. updated the function diagrammer_shortcut.
  10. made the function get_input exported.
  11. made functions output visible.
  12. added arg para_length for the function extract_firstline.
  13. updated license.

把所有 commit 拿出来然后进行整合。 这就是为什么要认真写 commit。

16 发送博客

应该用 release notes 和 readme 一起。

17 Python 命名原则

参考 https://stackoverflow.com/a/17487228/8625228

identifier ::= (letter|"_") (letter | digit | "_")*

18 建立index.Rmd

---
output: github_document
bibliography: refs/add.bib
---

I join this competition [data-science-bowl-2019], which ends on January 15, 2020. For the data feature, I do some work on the series features, using word2vec, LDA and node2vec. 

1. [wide and deep]
1. [node2vec]
1. [LDA]

The baseline feature engineering I forked from @Massoud_Hosseinali2019. However, it helps me focus on series features.
Also, I use LTSM model to elaborate series features, I forked from @Grecnik2019.

[data-science-bowl-2019]: https://www.kaggle.com/c/data-science-bowl-2019
[wide and deep]: https://github.com/JiaxiangBU/data-science-bowl-2019EX/blob/master/wide_and_deep.ipynb
[node2vec]: https://github.com/JiaxiangBU/data-science-bowl-2019EX/blob/master/node2vec.ipynb
[LDA]: https://github.com/JiaxiangBU/data-science-bowl-2019EX/blob/master/lda.ipynb

然后把输出index.md复制到index.ipynb,然后修改index.ipynb index.ipynb的介绍和settings.ini的desc保持一致。

19 lib_name包名和GitHub项目名称不一致的解决办法

打开文件setup.py,修改

20 make public

项目代码可以公开。

21 注意自建包的路径

这个不能录入的原因是这是安装的包,里面没有这个函数。 但是我们要检测的包是自建的,路径不相同。

22 版权符号,取用 unicode

原因参考 https://blog.csdn.net/github_35160620/article/details/53512967 这里进行替换即可。

## [1] "<U+00A9>"

在修改后 [Jiaxiang Li](LICENSE.md) 没有显示出来。

如果输入

的确是后面不显示的。

24 nbdev 有了新的版本

Thank-you, I was on 0.2.4 and upgraded to 0.2.7 . Now it works. Appreciate it!(Dustin 2020)

settings.ini 配置进行了修改,是最新的版本了。

25 改了文件夹大小写

不会产生 git 的修改

26 学习声明

参考 https://www.python.org/dev/peps/pep-0263/

! 和 jupyter notebook 一样,启用哪一个 exe

If a source file uses both the UTF-8 BOM mark signature and a magic encoding comment, the only allowed encoding for the comment is ‘utf-8’. Any other encoding will cause an error.

使用 ‘utf-8’

28 搞清楚了 gbk

rmarkdown::render

  1. 就是 ’’ 产生 ‘’
  2. 但是 "" 会 ""

31 临时安装包

用最新状态,避免发一次版本。

通过本地安装。

或者设计成 make 命令。

参考 https://blog.csdn.net/liuhongyue/article/details/52514706?locationNum=12&fps=1

通过GitHub安装,但是要修改好 README。

pip install .本地安装失败,因为被 .Rproj.user/ lock 了。

参考 https://blog.csdn.net/weixin_34223655/article/details/85969556

也会报错。

发版也要等一会。 新版本还没有更新。

UnicodeDecodeError: 'gbk' codec can't decode byte 0x99 in position 407: illegal multibyte sequence 最后修改了 readme 就好了,所以 readme 还是很重要!

附录

参考文献