创建独立的隔离python

时间:2019-03-18 13:44:26

标签: python dependencies

我要将Python部署到生产系统中,并且我拥有的python脚本具有与之关联的许多模块。

有没有一种方法可以仅通过特定的模块列表安装python?就像生成一个jar一样,您可以在一个文件夹中包含一个文件夹,其中所有其他依赖项jar都很好,而且干净。我不想编译python代码,所以我想要类似的东西。

(注意:我也不想创建虚拟环境-我想要这样的默认环境)

3 个答案:

答案 0 :(得分:1)

您可以使用virtualenv,这基本上就是顾名思义,也可以使用Docker,我个人更喜欢

答案 1 :(得分:1)

如果您不想像上面的Amir所建议的那样做,则可以使用其他两个选项:

  1. 复制这些模块并将它们放在安装脚本的相同文件夹中
  2. 使用这些模块的名称和版本创建一个requirements.txt文件,然后运行“ pip install -r requirements.txt”将这些模块安装在您的站点软件包文件夹中。

答案 2 :(得分:1)

要管理python软件包,您可以使用出色的 virtualenv 工具,它看起来非常简单,并且在 linux / macOS / Windows 上运行良好。任何将安装在激活的virtualenv 中的软件包都将仅在该virtualenv中可用,因此,例如,您可以在计算机上使用3个不同版本的“ Django”软件包并正常工作与他们使用不同的虚拟环境:

安装virtualenv:

$ pip3 install virtualenv 

创建您的virtualenv:

$ virtualenv -p python3 my_virtualenv_name

激活您的virtualenv:

$ . my_virtualenv_name/bin/activate

检查已安装哪些软件包:

$ pip freeze

安装任何软件包,例如“ Django”:

$ pip install Django

确认安装:

$ pip freeze | grep Django

从虚拟环境中卸载任何软件包:

$ pip uninstall Django -y

从虚拟环境中卸载所有软件包:

$ pip freeze | xargs pip uninstall -y

停用virtualenv

$ deactivate

官方文档中的更多信息:https://virtualenv.pypa.io/en/latest/