diff --git a/source/c12/c12_02.md b/source/c12/c12_02.md index b0a21c674fa295b6c030a96fb62920cf590fdcc5..174cf4c96370b05b3d4890a0855ed23314d14004 100644 --- a/source/c12/c12_02.md +++ b/source/c12/c12_02.md @@ -1,4 +1,4 @@ -# 12.2 【虚拟环境】方案一:virtualenv +# 12.2 【虚拟环境】方案一:使用 virtualenv ## 1. 安装virtualenv diff --git a/source/c12/c12_02.rst b/source/c12/c12_02.rst index 18463d84380eabb9a53251b30e040556e14f79de..0d543f915b9fb2fd7fe8105a026afa3d54aa7d88 100644 --- a/source/c12/c12_02.rst +++ b/source/c12/c12_02.rst @@ -1,5 +1,5 @@ -12.2 【虚拟环境】方案一:virtualenv -=================================== +12.2 【虚拟环境】方案一:使用 virtualenv +======================================== 1. 安装virtualenv ----------------- diff --git a/source/c12/c12_03.md b/source/c12/c12_03.md index 52d76cc962f25b3d1f336ad5636a00f42dbc3aad..40a7f05a707b17ef7c39580a8178fb61d99bd789 100644 --- a/source/c12/c12_03.md +++ b/source/c12/c12_03.md @@ -1,6 +1,4 @@ -# 12.3 【虚拟环境】方案二:pipenv - -![](http://image.iswbm.com/20200602135014.png) +# 12.3 【虚拟环境】方案二:使用 pipenv 以前一直使用pip+virtualenv+virtualwrapper管理模块和环境, 但是virtualwrapper在windows上使用不太方便,而且包和环境分开管理确实经常不记得哪个是哪个了。 diff --git a/source/c12/c12_03.rst b/source/c12/c12_03.rst index d25ad06ab926db902c530ac5d422e1e7a4e0b4c5..2e06408a824167a70c9bf49d212e8ef723308854 100644 --- a/source/c12/c12_03.rst +++ b/source/c12/c12_03.rst @@ -1,7 +1,5 @@ -12.3 【虚拟环境】方案二:pipenv -=============================== - -|image0| +12.3 【虚拟环境】方案二:使用 pipenv +==================================== 以前一直使用pip+virtualenv+virtualwrapper管理模块和环境, 但是virtualwrapper在windows上使用不太方便,而且包和环境分开管理确实经常不记得哪个是哪个了。 @@ -28,11 +26,11 @@ 如果你的电脑是 windows 的。 -|image1| +|image0| 需要将如标示路径,加入到 环境变量 PATH 中。 -|image2| +|image1| 然后需要重启一下,CMD 终端才能够刷新环境变量。 @@ -60,13 +58,13 @@ DjangoWebBlog 是我们的项目目录,进入这个目录下创建虚拟环境 这边以安装 python2 版本的虚拟环境为例说明。 -|image3| +|image2| 如果你原项目使用的是 requirements.txt 这个管理包的方式,这时候执行 ``pipenv --tow`` 创建一个虚拟环境后,会找到 requirements.txt ,并根据这里面的依赖包生成 Pipfile文件。 -|image4| +|image3| 3. 查询虚拟环境 --------------- @@ -84,7 +82,7 @@ DjangoWebBlog 是我们的项目目录,进入这个目录下创建虚拟环境 演示如下: -|image5| +|image4| 4. 操作虚拟环境 --------------- @@ -104,7 +102,7 @@ DjangoWebBlog 是我们的项目目录,进入这个目录下创建虚拟环境 执行 ``pipenv shell`` 就可以进入这个虚拟环境,在头部会有虚拟环境的标识名称。有这个标识,说明已经进入虚拟环境。 -|image6| +|image5| .. code:: python @@ -158,20 +156,19 @@ DjangoWebBlog 是我们的项目目录,进入这个目录下创建虚拟环境 打印该虚拟环境下所有包的依赖关系图 -|image7| +|image6| 有的python第三方包旧版本会有安全漏洞,使用 pipenv check 可以检查安全漏洞。 -|image8| - -.. |image0| image:: http://image.iswbm.com/20200602135014.png -.. |image1| image:: http://image.iswbm.com/Fk6WZ2xbqg2DM3AvnYCpsiKQ4xOn -.. |image2| image:: http://image.iswbm.com/FjuJ8yZsgjkzVuBRZHxK1ZnnzaEX -.. |image3| image:: http://image.iswbm.com/20190612211330.png -.. |image4| image:: http://image.iswbm.com/20190612213015.png -.. |image5| image:: http://image.iswbm.com/20190612213950.png -.. |image6| image:: http://image.iswbm.com/20190612211925.png -.. |image7| image:: http://image.iswbm.com/20190614000336.png -.. |image8| image:: http://image.iswbm.com/20190612215924.png +|image7| + +.. |image0| image:: http://image.iswbm.com/Fk6WZ2xbqg2DM3AvnYCpsiKQ4xOn +.. |image1| image:: http://image.iswbm.com/FjuJ8yZsgjkzVuBRZHxK1ZnnzaEX +.. |image2| image:: http://image.iswbm.com/20190612211330.png +.. |image3| image:: http://image.iswbm.com/20190612213015.png +.. |image4| image:: http://image.iswbm.com/20190612213950.png +.. |image5| image:: http://image.iswbm.com/20190612211925.png +.. |image6| image:: http://image.iswbm.com/20190614000336.png +.. |image7| image:: http://image.iswbm.com/20190612215924.png diff --git a/source/c12/c12_04.md b/source/c12/c12_04.md index f609c6f0b6da8d0e28fcb21083bf2bed6a05b2a7..0c67e7e83f694d418ba49eeed973571843892e4b 100644 --- a/source/c12/c12_04.md +++ b/source/c12/c12_04.md @@ -1,7 +1,5 @@ # 12.4 【虚拟环境】方案三:使用 pipx -![](http://image.iswbm.com/20200602135014.png) - ## 1. 什么是 pipx pipx 是一款用于帮助你安装和运行那些用 python 编写的终端程序,它类似于 macOS 上的 brew,Ubuntu 上的 apt,CentOS 上的 yum。 diff --git a/source/c12/c12_04.rst b/source/c12/c12_04.rst index 038cca15aa6d96097327dd6a69223aaba6f88c5e..b835a61c3c8efe6bb6d24fc2d977b9daafe3912e 100644 --- a/source/c12/c12_04.rst +++ b/source/c12/c12_04.rst @@ -1,8 +1,6 @@ 12.4 【虚拟环境】方案三:使用 pipx ================================== -|image0| - 1. 什么是 pipx -------------- @@ -45,7 +43,7 @@ pipx 的存在使这个流程变得更加舒畅,使用 pipx 在我安装好 pipx ,准备使用的时候,发现全局找不到 pipx 这个命令。 -|image1| +|image0| 按照如上图所示,难道使用全路径执行命令? @@ -62,7 +60,7 @@ pipx 的存在使这个流程变得更加舒畅,使用 pipx 软链接建好后,就可以直接使用 ``pipx`` 的命令啦。 -|image2| +|image1| 刚刚我使用 pipx 安装了 youtube-dl 后,其实并没有将这个 youtube-dl 安装到系统全局的 Python 环境中。 @@ -71,7 +69,7 @@ pipx 的存在使这个流程变得更加舒畅,使用 pipx 现在来看一下,这个路径下面都有哪些东西? -|image3| +|image2| 从截图上可以看出 @@ -81,7 +79,7 @@ pipx 的存在使这个流程变得更加舒畅,使用 pipx - 然后在 ``~/.local/bin`` 的目录下新建一个软链接,指向这个虚拟环境中 - 这样 ``youtube-dl`` 就变成全局的工具啦。 -|image4| +|image3| 为了避免你新安装的 youtube-dl 与全局的冲突,你也可以指定 pipx 的命令来运行 youtube-dl @@ -92,7 +90,7 @@ pipx 的存在使这个流程变得更加舒畅,使用 pipx 运行效果如下: -|image5| +|image4| pip run 也可以直接执行在线的 python 脚本 @@ -202,7 +200,7 @@ pip run 也可以直接执行在线的 python 脚本 效果如下 -|image6| +|image5| 8. 其他 ------- @@ -219,12 +217,12 @@ pip run 也可以直接执行在线的 python 脚本 我安装好后,可以使用 tab 键进行命令补全。 -|image7| +|image6| 执行 ``pipx ensurepath`` 可以确保 ``~/.local/bin`` 这个重要的目录,已经放入到 ``$PATH`` 的变量中。 -|image8| +|image7| 9. pipx vs pip -------------- @@ -244,13 +242,12 @@ pipx 只是解决 pip - https://github.com/pipxproject/pipx - https://pipxproject.github.io/pipx/comparisons/ -.. |image0| image:: http://image.iswbm.com/20200602135014.png -.. |image1| image:: http://image.iswbm.com/image-20201130124107950.png -.. |image2| image:: http://image.iswbm.com/image-20201130124554404.png -.. |image3| image:: http://image.iswbm.com/image-20201130125257203.png -.. |image4| image:: http://image.iswbm.com/image-20201130131138939.png -.. |image5| image:: http://image.iswbm.com/image-20201130210539907.png -.. |image6| image:: http://image.iswbm.com/image-20201130215320069.png -.. |image7| image:: http://image.iswbm.com/image-20201130220233001.png -.. |image8| image:: http://image.iswbm.com/image-20201130215826513.png +.. |image0| image:: http://image.iswbm.com/image-20201130124107950.png +.. |image1| image:: http://image.iswbm.com/image-20201130124554404.png +.. |image2| image:: http://image.iswbm.com/image-20201130125257203.png +.. |image3| image:: http://image.iswbm.com/image-20201130131138939.png +.. |image4| image:: http://image.iswbm.com/image-20201130210539907.png +.. |image5| image:: http://image.iswbm.com/image-20201130215320069.png +.. |image6| image:: http://image.iswbm.com/image-20201130220233001.png +.. |image7| image:: http://image.iswbm.com/image-20201130215826513.png diff --git a/source/c12/c12_05.md b/source/c12/c12_05.md index 5fad66a7d9c52598d7a71023ae6db3f4c89cf9d5..95a87bace87a4936d7fecbed88f062d2783420ce 100644 --- a/source/c12/c12_05.md +++ b/source/c12/c12_05.md @@ -167,6 +167,6 @@ url = "https://pypi.doubanio.com/simple/" 不过经过测试 Poetry 会使用 pip.ini 设置的 PyPI 镜像,而且豆瓣的源好像很久没更新了(创建虚拟环境安装的默认依赖里 importlib-metadata==0.20 找不到),[这篇文章](https://link.zhihu.com/?target=http%3A//greyli.com/set-custom-pypi-mirror-url-for-pip-pipenv-poetry-and-flit/)列出了一些其他国内的 PyPI 源。 -## 参考文章 +## 7. 参考文章 - [相比 Pipenv,Poetry 是一个更好的选择](https://zhuanlan.zhihu.com/p/81025311) \ No newline at end of file diff --git a/source/c12/c12_05.rst b/source/c12/c12_05.rst index 0d2111885743dea8734129b1f5129c4bbe8c553c..8388f6b948102ae12129e5e562cee8710080e1fe 100644 --- a/source/c12/c12_05.rst +++ b/source/c12/c12_05.rst @@ -192,8 +192,8 @@ importlib-metadata==0.20 找不到),\ `这篇文章 `__\ 列出了一些其他国内的 PyPI 源。 -参考文章 --------- +7. 参考文章 +----------- - `相比 Pipenv,Poetry 是一个更好的选择 `__ diff --git a/source/c13/c13_01.md b/source/c13/c13_01.md index 7f1bb4ea4c4d392d24e33b8f632bb684e4e9e891..879ac81ecf310047aaec222517d1a188d98dc730 100644 --- a/source/c13/c13_01.md +++ b/source/c13/c13_01.md @@ -1,4 +1,4 @@ -# 13.1 使用 mypy 进行静态类型检查 +# 13.1 【静态检查】mypy 的使用 Python 3.6以后,允许为参数和函数返回类型添加类型标注(type hinting)。 diff --git a/source/c13/c13_01.rst b/source/c13/c13_01.rst index 20f376c9aa95b05c1bc1637adab5581247d91a18..f8fddf666284ecb08bbfe5ae335ce72972235e75 100644 --- a/source/c13/c13_01.rst +++ b/source/c13/c13_01.rst @@ -1,5 +1,5 @@ -13.1 使用 mypy 进行静态类型检查 -=============================== +13.1 【静态检查】mypy 的使用 +============================ Python 3.6以后,允许为参数和函数返回类型添加类型标注(type hinting)。 diff --git a/source/c13/c13_02.md b/source/c13/c13_02.md index 7ac2ec16bd510621a4fc52f95d9b0778ba34938a..82c6d6d1f4ac4881c38dc8fa1f78a9a587681a90 100644 --- a/source/c13/c13_02.md +++ b/source/c13/c13_02.md @@ -1,4 +1,4 @@ -# 13.3 用 pytest 进行代码测试 +# 13.2 【代码测试】pytest 的使用 > 转载自:http://kuanghy.github.io/2018/05/08/pytest diff --git a/source/c13/c13_02.rst b/source/c13/c13_02.rst index 4712997eec111d46dc8785f0426b8caab2a19324..ff85f53028aa2d46466f49c0e191309dec6b317a 100644 --- a/source/c13/c13_02.rst +++ b/source/c13/c13_02.rst @@ -1,5 +1,5 @@ -13.3 用 pytest 进行代码测试 -=========================== +13.2 【代码测试】pytest 的使用 +============================== 转载自:http://kuanghy.github.io/2018/05/08/pytest diff --git a/source/c13/c13_03.md b/source/c13/c13_03.md index 2bee3bd1c6fdc412b7514b06cd2a64198b5fd7f9..f9720c23d7c7a2dd1990137b78062c9dbf78b109 100644 --- a/source/c13/c13_03.md +++ b/source/c13/c13_03.md @@ -1,4 +1,4 @@ -# 13.4 使用 pre-commit hook 解决编码规范 +# 13.3 【代码提交】pre-commit hook > 转载自:https://juejin.cn/post/6844903844103585805 diff --git a/source/c13/c13_03.rst b/source/c13/c13_03.rst index 6b457c948aa7d901c69d264e920882a345ed2baf..dc6624fcbf527e94874d4eb790f4612c4863edc6 100644 --- a/source/c13/c13_03.rst +++ b/source/c13/c13_03.rst @@ -1,5 +1,5 @@ -13.4 使用 pre-commit hook 解决编码规范 -====================================== +13.3 【代码提交】pre-commit hook +================================ 转载自:https://juejin.cn/post/6844903844103585805 diff --git a/source/c13/c13_04.md b/source/c13/c13_04.md index 289f8a42e7c98dc3ab9d73b4663a9eeae8dc614e..a2ddd125a1152eabecb5c6dd428aac601632ff15 100644 --- a/source/c13/c13_04.md +++ b/source/c13/c13_04.md @@ -1,4 +1,4 @@ -# 13.5 使用 cookiecutter 生成项目 +# 13.4 【项目生成】cookiecutter 的使用 > 转载自:https://note.qidong.name/2018/10/cookiecutter/ diff --git a/source/c13/c13_04.rst b/source/c13/c13_04.rst index e08da23ec2820e9e55750a3a55213da0c36c285d..ab5c93273c5885c08a9916f885861745b8b5d7ee 100644 --- a/source/c13/c13_04.rst +++ b/source/c13/c13_04.rst @@ -1,5 +1,5 @@ -13.5 使用 cookiecutter 生成项目 -=============================== +13.4 【项目生成】cookiecutter 的使用 +==================================== 转载自:https://note.qidong.name/2018/10/cookiecutter/ diff --git a/source/chapters/p13.rst b/source/chapters/p13.rst index d18be9b36e6487435b6316915f1cbfe92676a5be..0224e9648530ecd56a496e258d9f74945ce8295d 100755 --- a/source/chapters/p13.rst +++ b/source/chapters/p13.rst @@ -1,5 +1,5 @@ ============================= -第十三章:工程项目 +第十三章:绝佳工具 =============================