提交 615688f4 编写于 作者: 写代码的明哥's avatar 写代码的明哥

update

上级 e0203750
# 12.2 【虚拟环境】方案一:virtualenv
# 12.2 【虚拟环境】方案一:使用 virtualenv
## 1. 安装virtualenv
......
12.2 【虚拟环境】方案一:virtualenv
===================================
12.2 【虚拟环境】方案一:使用 virtualenv
========================================
1. 安装virtualenv
-----------------
......
# 12.3 【虚拟环境】方案二:pipenv
![](http://image.iswbm.com/20200602135014.png)
# 12.3 【虚拟环境】方案二:使用 pipenv
以前一直使用pip+virtualenv+virtualwrapper管理模块和环境, 但是virtualwrapper在windows上使用不太方便,而且包和环境分开管理确实经常不记得哪个是哪个了。
......
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
# 12.4 【虚拟环境】方案三:使用 pipx
![](http://image.iswbm.com/20200602135014.png)
## 1. 什么是 pipx
pipx 是一款用于帮助你安装和运行那些用 python 编写的终端程序,它类似于 macOS 上的 brew,Ubuntu 上的 apt,CentOS 上的 yum。
......
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
......@@ -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
......@@ -192,8 +192,8 @@ 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>`__
......
# 13.1 使用 mypy 进行静态类型检查
# 13.1 【静态检查】mypy 的使用
Python 3.6以后,允许为参数和函数返回类型添加类型标注(type hinting)。
......
13.1 使用 mypy 进行静态类型检查
===============================
13.1 【静态检查】mypy 的使用
============================
Python 3.6以后,允许为参数和函数返回类型添加类型标注(type hinting)。
......
# 13.3 用 pytest 进行代码测试
# 13.2 【代码测试】pytest 的使用
> 转载自:http://kuanghy.github.io/2018/05/08/pytest
......
13.3 用 pytest 进行代码测试
===========================
13.2 【代码测试】pytest 的使用
==============================
转载自:http://kuanghy.github.io/2018/05/08/pytest
......
# 13.4 使用 pre-commit hook 解决编码规范
# 13.3 【代码提交】pre-commit hook
> 转载自:https://juejin.cn/post/6844903844103585805
......
13.4 使用 pre-commit hook 解决编码规范
======================================
13.3 【代码提交】pre-commit hook
================================
转载自:https://juejin.cn/post/6844903844103585805
......
# 13.5 使用 cookiecutter 生成项目
# 13.4 【项目生成】cookiecutter 的使用
> 转载自:https://note.qidong.name/2018/10/cookiecutter/
......
13.5 使用 cookiecutter 生成项目
===============================
13.4 【项目生成】cookiecutter 的使用
====================================
转载自:https://note.qidong.name/2018/10/cookiecutter/
......
=============================
第十三章:工程项目
第十三章:绝佳工具
=============================
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册