首页 > 编程语言 >python对于虚拟环境的管理

python对于虚拟环境的管理

时间:2023-04-22 15:22:46浏览次数:39  
标签:管理 python Python 虚拟环境 软件包 pip 源代码 安装

venv 和 conda 的区别
venv 和 conda 都是用于创建虚拟环境和管理包的工具,但它们之间有一些不同。

Python3.3 以上,venv 是内置的。它会直接在当前项目(当前文件夹下)安装 Python 虚拟环境,因此它是“去中心化”管理的,无法查看已安装的所有环境。

conda 是一个跨平台的开源包管理器,可以用于创建和管理虚拟环境,而且不限于 Python;并且它支持多种操作系统和语言,可以跨语言管理各种包和库。conda 是中心化管理的,可以通过 conda env list 查看已安装的虚拟环境列表

包的来源:venv 只能使用 pip 作为安装来源;而 conda 有许多 channel (默认为 defaults ,另外有第三方社区渠道 conda-forge)作为包的安装来源。

venv 使用
由于 venv 直接在项目下安装虚拟环境,所以要先进入项目的主目录。

安装一个名为 titanic 的虚拟环境:

python3 -m venv titanic

安装完成后,会在当前目录下出现名为 titanic 的文件夹,其中包含了一些二进制文件,之后安装的库也会储存在这里。64
位系统中,titanic/lib 文件夹存储 32 位版本的 Python 库,而 titanic/lib64 文件夹存储 64
位版本的 Python库。

显示系统正在使用的 Python 解释器的路径:

which python

此时发现,用的不是刚安装的虚拟环境中的 Python。激活虚拟环境:

source titanic/bin/activate

此时我们已经在虚拟环境中了,可以安装 Python 第三方库了。

可以通过 pip freeze 查看已经安装的库,以及相应的版本:

python3 -m pip freeze

利用 Linux 管道命令,导出为文本文件:

python3 -m pip freeze > requirements.txt

之后可以利用该文本文件,方便地重新构建虚拟环境:

python3 -m pip install -r requirements.txt

ps: 上面命令行中 -m 参数用于执行指定的模块,如 venv,pip

安装第三方库
PyPI
可以通过 pip 从 PyPI(Python Package Index)安装库。

PyPI 是 Python 社区维护的一个软件包仓库,其中大部分软件包已经被编译成二进制文件。使用 pip install 命令时,默认情况下,pip 会从 PyPI 下载预编译的二进制文件并安装到系统中。

.whl 文件就是已经预编译好的二进制文件。如果观察软件包的安装过程,就会发现其中有一步是 .whl 文件的下载。即便是同一个软件包版本,不同操作系统和处理器架构所需要的 .whl 文件也不一样。

以 pandas 安装为例。看到 .whl 文件的名字中不仅包含了软件包的版本,还有操作系统、处理器架构等信息。


然而,有些软件包可能没有预编译的二进制文件或者需要根据特定的环境或需求进行编译和定制,这时候需要使用其他方式从源代码安装软件包。

从其他索引源安装
可以通过 --index-url 指定 PyPI 之外的软件包索引源:

python3 -m pip install --index-url http://index.example.com/simple/ SomeProject

也可以为默认 PyPI 源添加额外的索引源:

python3 -m pip install --extra-index-url http://index.example.com/simple/ SomeProject

从源代码安装
从源代码安装就是从软件包的源代码文件中构建并安装软件包,而不是直接从预编译的二进制文件安装。从源代码安装会更加灵活,可以针对特定的平台或环境进行优化或配置。但从源代码安装通常需要进行一些配置和编译步骤。

例子:

cd google-auth
python3 -m pip install .

首先进入软件包源代码的主目录(这里是 google-auth),然后 python3 -m pip install .

从源代码安装时,可以选择以开发模式(development mode)安装,指明 --editable:

python3 -m pip install --editable .

开发模式,顾名思义,就是作为开发者而不是使用者。任何对源代码的修改都可以直接对软件包产生影响,而不用重新安装。

从本地压缩包安装
python3 -m pip install requests-2.18.4.tar.gz

参考

(77条消息) Python 虚拟环境管理—— venv_云中君不见的博客-CSDN博客

标签:管理,python,Python,虚拟环境,软件包,pip,源代码,安装
From: https://www.cnblogs.com/cat-study987/p/17343141.html

相关文章

  • python-docx高级用法
    fromdocximportDocumentfromdocx.enum.sectionimportWD_SECTION#创建一个新文档doc=Document()#添加页眉header=doc.sections[0].headerheader.add_paragraph('Headertext')#添加页脚footer=doc.sections[0].footerfooter.add_paragraph('Footertext')#......
  • python数据挖掘与分析实战__电子商务网站用户行为分析及服务推荐
    importosimportpandasaspd#修改工作路径到指定文件夹os.chdir("D:/CourseAssignment/AI/CollectWebDate/")#第一种连接方式fromsqlalchemyimportcreate_engineengine=create_engine('mysql+pymysql://root:123456@localhost:3306/test?charset=utf8')sql......
  • python-pptx用法
    frompptximportPresentation#创建一个新PPT文档prs=Presentation()#添加幻灯片slide=prs.slides.add_slide(prs.slide_layouts[0])#保存PPT文档prs.save('example.pptx')frompptx.utilimportInches#添加文本框slide=prs.slides.add_slide(prs.slide_layouts[1])t......
  • python-docx常用方法
    fromdocximportDocument#创建一个新文档doc=Document()#添加段落para=doc.add_paragraph('HelloWorld!')fromdocx.enum.styleimportWD_STYLE_TYPEfromdocx.enum.textimportWD_ALIGN_PARAGRAPH#添加标题title=doc.add_heading('DocumentTitle',leve......
  • 保力建筑公司董事长孙敏威被“中国管理科学研究院”聘任为客座教授
      祝贺“保力建筑工程有限公司”董事长孙敏威,因在企业管理课题研究领域的突出贡献,“中国管理科学院经济发展研究中心"特聘请孙敏威先生为客座教授。中国管理科学研究院(简称中管院)由科学家钱学森、钱三强、钱伟长和裴丽生、马洪等200多位高级科研人员发起,于1986年9月1日经陈云......
  • python多进程1:进程池使用时的死锁问题
    一、为什么?你正在使用多进程来在多个进程中运行一些代码,但它却“卡”住了。你查看CPU使用情况,却发现没有任何进展,无法完成任何工作。到底发生了什么?在许多情况下,你只需要加上一行代码就可以解决这个问题(可以跳到最后一句尝试一下),但是首先,让我们深入探讨Python的故障以及P......
  • 文件管理
    要实现文件管理功能,我们可以使用toga.FileDialog控件来选择文件和文件夹,使用os模块来操作文件。以下是一个简单的文件管理器的代码示例:importosimporttogaclassFileManager:  def__init__(self):    self.main_window=toga.MainWindow(title='FileManager......
  • toga的图像按钮和窗口管理
    Toga提供了多种常用控件,如按钮、标签、输入框等,还提供了窗口管理功能,可以用于创建跨平台的GUI应用程序。下面分别介绍图像按钮和窗口管理的用法。图像按钮-toga.ImageButtontoga.ImageButton用于创建一个图像按钮控件,用于触发操作或事件。常用参数:id:按钮控件的唯一标识符。......
  • 用它做项目管理,能抓关键里程碑
    ZohoProjects是一款脑力思考与事项协作的项目管理软件,这正好能够对应项目管理中最核心的需求分析与资源调配工作。用它做项目管理既能抓关键里程碑,又能敏捷管理团队!接下来我们一起来看看ZohoProjects是怎么做项目管理的。01、逐层分解项目,并根据实际情况制定项目计划不同企业根据......
  • chatGPT,该如何使用python调用你的接口
    以下是chatGPT的回答:好的,这里是一些使用Python调用OpenAIAPI的基本步骤:安装openaiPython包您可以使用pip安装openai包。在终端或命令行中输入以下命令:pipinstallopenai获取API密钥在使用OpenAIAPI之前,您需要获得OpenAIAPI密钥。要获得API密钥,请访问OpenAI网......