在PyCharm中配置项目(十五):管理项目依赖性
PyCharm是一种Python IDE,其带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具。此外,该IDE提供了一些高级功能,以用于Django框架下的专业Web开发。
PyCharm最新版本2019.3现已发布,增加用于Jupyter笔记本的交互式小部件,MongoDB支持以及所有Python 3.8功能的代码帮助,还有其他功能改进提高Python语言开发效率!小编已将PyCharm2019.3安装包上传至慧都官网,感兴趣的朋友欢迎下载体验~
管理项目依赖性
PyCharm使跟踪项目中未满足的依赖关系成为可能,并提供与主要依赖关系管理方法的集成。requirements.txt 和Pipfile。
-
requirements.txt包含应用程序依赖的一组软件包。将具有该名称的文件添加到项目根目录后,Python Integrated tools会自动检测到该文件 。
有关详细说明,请参见使用requirements.txt。
-
Pipfile仅适用于具有Pipenv虚拟环境的项目。它还可以管理项目依赖项集。但是,此工具通过创建项目环境的精确快照(包括哈希码和确切的程序包版本),为安全敏感的部署提供了更多功能。
有关详细说明,请参见使用pipfile。
PyCharm使跟踪项目中未满足的依赖关系成为可能,并提供与主要依赖关系管理方法的集成。
定义要求
1、在您的项目的根目录中创建一个新文件。
2、在“ 新建文件”对话框中,指定文件名。需求文件的建议名称是requirements.txt。将具有该名称的文件添加到项目根目录后,Python Integrated tools会自动检测到该文件。
3、以纯文本形式键入所需软件包的名称,例如:
Django==2.0.3 Flask==0.12.2
请注意,支持递归需求语法:您可以使用主需求文件,并在-r语法中包含其他需求 。
您也可以pip freeze > requirements.txt在命令行中运行以为您的项目生成requirements.txt文件。
如果需求文件的名称不同于requirements.txt,或者在一个项目中有多个需求文件,则必须将要应用的需求文件通知PyCharm。
配置默认需求文件
1、打开设置/首选项对话框,Ctrl+Alt+S然后选择 工具| Python集成工具。
2、在打包需求文件字段中,输入需求文件的名称或单击浏览按钮并找到所需的文件。
3、单击确定保存更改。
尽管您可以根据依赖项管理文件的语法来编辑它们,但是PyCharm提供了快速修复程序,可以填充这些文件。
填充依赖性管理文件
1、创建setup.py或requirements.txt,如部分所述创建并运行setup.py和 定义需求。
2、在importPython文件的语句中,单击尚未导入的包。PyCharm建议快速修复:
3、选择并应用建议的快速修复。程序包已添加到依赖项管理文件中。
PyCharm提供了与不满意的依赖项有关的快速修复和通知。
安装所需的软件包
启用包装要求检查后,将显示通知栏。您可以在“ 首选项/设置” |“设置”中启用它。编辑器 检查对话框。
1、打开一个指定了需求文件的项目,在编辑器中打开的任何Python或需求文件的顶部都会显示一个通知栏:
2、单击提供的链接之一,以满足或忽略要求。
使用pipfile
Pipfile是Pipenv虚拟环境 用于管理项目依赖项的专用文件。该文件对于使用Pipenv是必不可少的。当为新项目或现有项目创建Pipenv环境时, 会自动生成Pipfile。同样,当您第一次在PyCharm中打开带有Pipfile文件的项目时,Pipenv虚拟环境将自动配置。
考虑一项从头开始创建依赖项列表的任务。
在Pipfile中记录依赖项以管理项目包1、当PyCharm为新的pipenv虚拟环境创建Pipfile时,该文件如下所示:
该python_version参数是您在创建新的pipenv环境时指定的基本解释器的版本。在此packages部分中,您可以列出项目所需的软件包。
2、请注意,PyCharm建议您安装特定于Pipfile的插件。单击相应的链接以安装Tom的“最小语言”(TOML)的插件。您必须重新启动PyCharm才能启用插件。重新启动后,您将看到确认确认Pipfile格式的消息:
3、通过修改此packages部分来添加新的程序包依赖性。
[packages] django = "*"4、每当您修改Pipfile文件时,PyCharm都会建议以下操作之一:
- pipenv lock—将新要求记录到Pipfile.lock文件中。
- pipenv update—将新要求记录到Pipfile.lock文件中,并将缺少的依赖项安装在项目解释器上。
这一步非常重要,因为PyCharm根据Pipfile.lock文件中记录的信息来管理项目依赖 项。因此,添加到Pipfile但未锁定的任何要求都将被忽略。
让我们选择pipenv update命令来安装Django软件包。
5、确保Django在已安装软件包的列表中。 在“设置/首选项”对话框中 Ctrl+Alt+S,展开“ 项目<项目名称>”节点,单击“ 项目解释器”,然后检查软件包列表。
6、现在探索相反的工作流程。在“ 项目解释器”对话框中,单击以添加Flask包。请注意,pipenv使用标准过程限制配置索引。所有可用的软件包都是从Pipfile中指定的源中添加的。这些软件包是通过pipenv而不是pip进行安装,删除和更新的。
7、一旦添加了Flask软件包,请关闭“ 可用软件包”对话框并查看Pipfile。[packages]现在,该部分如下所示:
[packages] django = "*" flask = "*"
应用依赖
考虑一种情况,当您签出或更新了项目源文件并看到以下消息:
因此,PyCharm报告您的虚拟环境不满足当前版本的Pipfile中列出的要求。
2、单击Pipfile.lock中的安装要求以安装缺少的软件包。
您可能已经注意到,沿Pipfile,该Pipfile.lock文件需要在管理pipenv项目需求的关键重要作用。每次执行pipenv lock或时pipenv update,都会获取虚拟环境的当前快照。检查以下片段:
该文件记录了为项目安装的软件包的确切版本。它还生成了哈希码,以促进应用程序的安全部署。从不受信任的源下载依赖项时,哈希码用于确保项目文件受信任。
想要了解或购买PyCharm正版授权的朋友可以。