python笔记---需求文件requirements.txt的创建及使用
来源:互联网 发布:汽车油耗计算器软件 编辑:程序博客网 时间:2024/05/16 10:21
http://blog.csdn.net/loyachen/article/details/52028825
Python项目中必须包含一个 requirements.txt 文件,用于记录所有依赖包及其精确的版本号。以便新环境部署。
在虚拟环境中使用pip生成:
<code class="hljs ruby has-numbering" style="display: block; padding: 0px; background: transparent; color: inherit; box-sizing: border-box; font-family: "Source Code Pro", monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal;">(venv) <span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$ </span>pip freeze >requirements.txt</code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right: 1px solid rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right: 1px solid rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li></ul>
安装或升级包后,最好更新这个文件。
需求文件的内容示例如下:
<code class="hljs ini has-numbering" style="display: block; padding: 0px; background: transparent; color: inherit; box-sizing: border-box; font-family: "Source Code Pro", monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal;"><span class="hljs-setting" style="box-sizing: border-box;">alembic=<span class="hljs-value" style="box-sizing: border-box;">=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0.8</span>.<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">6</span></span></span><span class="hljs-setting" style="box-sizing: border-box;">bleach=<span class="hljs-value" style="box-sizing: border-box;">=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1.4</span>.<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">3</span></span></span><span class="hljs-setting" style="box-sizing: border-box;">click=<span class="hljs-value" style="box-sizing: border-box;">=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">6.6</span></span></span><span class="hljs-setting" style="box-sizing: border-box;">dominate=<span class="hljs-value" style="box-sizing: border-box;">=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2.2</span>.<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span></span></span><span class="hljs-setting" style="box-sizing: border-box;">Flask=<span class="hljs-value" style="box-sizing: border-box;">=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0.11</span>.<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span></span></span><span class="hljs-setting" style="box-sizing: border-box;">Flask-Bootstrap=<span class="hljs-value" style="box-sizing: border-box;">=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">3.3</span>.<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">6.0</span></span></span><span class="hljs-setting" style="box-sizing: border-box;">Flask-Login=<span class="hljs-value" style="box-sizing: border-box;">=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0.3</span>.<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2</span></span></span><span class="hljs-setting" style="box-sizing: border-box;">Flask-Migrate=<span class="hljs-value" style="box-sizing: border-box;">=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1.8</span>.<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span></span></span><span class="hljs-setting" style="box-sizing: border-box;">Flask-Moment=<span class="hljs-value" style="box-sizing: border-box;">=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0.5</span>.<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span></span></span><span class="hljs-setting" style="box-sizing: border-box;">Flask-PageDown=<span class="hljs-value" style="box-sizing: border-box;">=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0.2</span>.<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span></span></span><span class="hljs-setting" style="box-sizing: border-box;">Flask-Script=<span class="hljs-value" style="box-sizing: border-box;">=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2.0</span>.<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">5</span></span></span><span class="hljs-setting" style="box-sizing: border-box;">Flask-SQLAlchemy=<span class="hljs-value" style="box-sizing: border-box;">=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2.1</span></span></span><span class="hljs-setting" style="box-sizing: border-box;">Flask-WTF=<span class="hljs-value" style="box-sizing: border-box;">=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0.12</span></span></span><span class="hljs-setting" style="box-sizing: border-box;">html5lib=<span class="hljs-value" style="box-sizing: border-box;">=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0.9999999</span></span></span><span class="hljs-setting" style="box-sizing: border-box;">itsdangerous=<span class="hljs-value" style="box-sizing: border-box;">=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0.24</span></span></span><span class="hljs-setting" style="box-sizing: border-box;">Jinja2=<span class="hljs-value" style="box-sizing: border-box;">=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2.8</span></span></span><span class="hljs-setting" style="box-sizing: border-box;">Mako=<span class="hljs-value" style="box-sizing: border-box;">=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1.0</span>.<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">4</span></span></span><span class="hljs-setting" style="box-sizing: border-box;">Markdown=<span class="hljs-value" style="box-sizing: border-box;">=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2.6</span>.<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">6</span></span></span><span class="hljs-setting" style="box-sizing: border-box;">MarkupSafe=<span class="hljs-value" style="box-sizing: border-box;">=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0.23</span></span></span><span class="hljs-setting" style="box-sizing: border-box;">PyMySQL=<span class="hljs-value" style="box-sizing: border-box;">=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0.7</span>.<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">5</span></span></span><span class="hljs-setting" style="box-sizing: border-box;">python-editor=<span class="hljs-value" style="box-sizing: border-box;">=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1.0</span>.<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1</span></span></span><span class="hljs-setting" style="box-sizing: border-box;">six=<span class="hljs-value" style="box-sizing: border-box;">=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1.10</span>.<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0</span></span></span><span class="hljs-setting" style="box-sizing: border-box;">SQLAlchemy=<span class="hljs-value" style="box-sizing: border-box;">=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">1.0</span>.<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">14</span></span></span><span class="hljs-setting" style="box-sizing: border-box;">visitor=<span class="hljs-value" style="box-sizing: border-box;">=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0.1</span>.<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">3</span></span></span><span class="hljs-setting" style="box-sizing: border-box;">Werkzeug=<span class="hljs-value" style="box-sizing: border-box;">=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">0.11</span>.<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">10</span></span></span><span class="hljs-setting" style="box-sizing: border-box;">WTForms=<span class="hljs-value" style="box-sizing: border-box;">=<span class="hljs-number" style="color: rgb(0, 102, 102); box-sizing: border-box;">2.1</span></span></span></code><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right: 1px solid rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li></ul><ul class="pre-numbering" style="box-sizing: border-box; position: absolute; width: 50px; background-color: rgb(238, 238, 238); top: 0px; left: 0px; margin: 0px; padding: 6px 0px 40px; border-right: 1px solid rgb(221, 221, 221); list-style: none; text-align: right;"><li style="box-sizing: border-box; padding: 0px 5px;">1</li><li style="box-sizing: border-box; padding: 0px 5px;">2</li><li style="box-sizing: border-box; padding: 0px 5px;">3</li><li style="box-sizing: border-box; padding: 0px 5px;">4</li><li style="box-sizing: border-box; padding: 0px 5px;">5</li><li style="box-sizing: border-box; padding: 0px 5px;">6</li><li style="box-sizing: border-box; padding: 0px 5px;">7</li><li style="box-sizing: border-box; padding: 0px 5px;">8</li><li style="box-sizing: border-box; padding: 0px 5px;">9</li><li style="box-sizing: border-box; padding: 0px 5px;">10</li><li style="box-sizing: border-box; padding: 0px 5px;">11</li><li style="box-sizing: border-box; padding: 0px 5px;">12</li><li style="box-sizing: border-box; padding: 0px 5px;">13</li><li style="box-sizing: border-box; padding: 0px 5px;">14</li><li style="box-sizing: border-box; padding: 0px 5px;">15</li><li style="box-sizing: border-box; padding: 0px 5px;">16</li><li style="box-sizing: border-box; padding: 0px 5px;">17</li><li style="box-sizing: border-box; padding: 0px 5px;">18</li><li style="box-sizing: border-box; padding: 0px 5px;">19</li><li style="box-sizing: border-box; padding: 0px 5px;">20</li><li style="box-sizing: border-box; padding: 0px 5px;">21</li><li style="box-sizing: border-box; padding: 0px 5px;">22</li><li style="box-sizing: border-box; padding: 0px 5px;">23</li><li style="box-sizing: border-box; padding: 0px 5px;">24</li><li style="box-sizing: border-box; padding: 0px 5px;">25</li><li style="box-sizing: border-box; padding: 0px 5px;">26</li><li style="box-sizing: border-box; padding: 0px 5px;">27</li></ul>
当需要创建这个虚拟环境的完全副本,可以创建一个新的虚拟环境,并在其上运行以下命令:
<code class="hljs ruby has-numbering" style="display: block; padding: 0px; background: transparent; color: inherit; box-sizing: border-box; font-family: "Source Code Pro", monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal;">(venv) <span class="hljs-variable" style="color: rgb(102, 0, 102); box-sizing: border-box;">$ </span>pip install -r requirements.txt</code>
0 0
- python笔记---需求文件requirements.txt的创建及使用
- python笔记---需求文件requirements.txt的创建及使用
- python笔记---需求文件requirements.txt的创建及使用
- Python使用requirements.txt安装类库
- Python使用requirements.txt安装类库
- python使用requirements.txt批量安装包
- python下使用pip freeze >requirements.txt命令迁移模块
- python 创建txt文件
- python笔记 对txt文件的读写
- 用requirements.txt批量安装python库
- python项目依赖生成requirements.txt
- 为Python项目自动生成requirements.txt
- django依赖文件requirements.txt生成/安装
- python requirements文件依赖生成
- 需求文件的使用
- python .txt文件读取及数据处理总结
- 查找python项目依赖并生成requirements.txt
- 安装ez_install和pip,使用requirements.txt安装
- 找不到 URLClassLoader$1.run() 行: 不可用 的源
- 高精度计算(二) /*高精度的加法运算*/
- CentOS7安装Nginx
- sobel算子
- MyBatis 多表联合查询及优化
- python笔记---需求文件requirements.txt的创建及使用
- Oracle 的入门心得
- iOS touch事件单击双击区分响应
- Hibernate4一对一关系映射(共享主键方式)
- 34. Search for a Range
- [LeetCode] 26. Remove Duplicates from Sorted Array
- c++多线程编程
- ubuntu安装wmware tools
- Java层Binder全解析。