Pipenv全球环境

时间:2018-07-27 08:47:56

标签: python pipenv

Pipenv是管理python环境的好工具。但是有些事情需要全球化。例如,大多数命令行工具应始终可用,并且jupyter可以与非python内核一起使用。

pipenv也可以用于管理这样的全局python环境吗?如果是这样,怎么办?这是理智的事情吗?

1 个答案:

答案 0 :(得分:1)

在没有虚拟环境的情况下从Pipenv安装

我遇到了类似的问题-我需要在我们的生产服务器上全局安装依赖项。

我遇到了this discussion,这使我警惕了--system选项。 pipenv install --system全局安装依赖项。

仅全局安装一些依赖项

您的问题还有其他两个方面,我认为我也应该解决:

首先,您谈论的是全球范围内的“某些”事物。如果您有一些需要全局的依赖关系,而有些则需要在虚拟环境中的依赖关系,则可以将它们拆分为单独的Pipfile,并使用PIPENV_PIPFILE环境变量。例如:

# Install your global deps from a separate file
$ PIPENV_PIPFILE="/path/to/global/deps/Pipfile" pipenv install --system

# Use your local Pipfile for the project-specific deps (in a virtual environment as normal)
$ pipenv install

替代方法:pipsi

其次,您问“这是一件明智的事情吗?”我认为通常将Pipenv用于全局依赖关系是理智的,但是对于您的命令行工具用例,我将使用pipsi。 Pipsi会在全球范围内安装库,但会彼此隔离(请参阅链接以获取更多详细信息)。但是,我认为它没有提供使用需求文件(ref)的方法。

要获得有关Python设置和依赖关系的一些常规知识,我真的建议Jacob Kaplan-Moss的文章My Python Development Environment, 2018 Edition