python - Pipenv 全局环境

标签 python pipenv

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

pipenv 也可以用来管理这样一个全局的 python 环境吗?如果是这样,如何?这是理智的做法吗?

最佳答案

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

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

我遇到了 this discussion这提醒我 --system选项。 pipenv install --system 在全局安装依赖项。

全局安装仅一些依赖项

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

首先,您谈到“某些”事物是全局性的。如果您有一些需要全局的依赖项而一些需要在虚拟环境中,您可以将它们拆分为单独的 Pipfiles 并使用 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 .

关于python - Pipenv 全局环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51554241/

相关文章:

python - 尽管安装了开发包,但找不到 tk.h

python - 设置对象有比较键吗?

python - python 中的部分依赖管理

Pipenv `ModuleNotFoundError: No module named ' pip.basecommand`

python - 使用 Homebrew 升级 python 后出现 "Library not loaded"错误

python - 如何修复 'Specifier python_version does not match 2.7 (3.6).'

python - 如何在 python 中使用 espeak

javascript - Scrapy 中的 Selenium + PhantomJS

python - pipelinev 依赖项在终端中正常,但在 PyCharm 中不行

python - 在 Ruby 和 Python 中使用 yield 创建列表