【问题标题】:virtual environment approach for packages包的虚拟环境方法
【发布时间】:2021-04-08 23:12:28
【问题描述】:

我开始使用虚拟环境。我有点不清楚如何有效地使用它们和全局安装的包。例如,如果我想在虚拟环境中的项目中使用 Numpy,那么将 Numpy 安装到项目环境中是否有意义?我假设没有,因为我将不得不为不同的项目多次安装 Numpy。所以也许我需要为每个项目设置环境 $PYTHONPATH ?每个项目应该有一个单独的 $PYTHONPATH 变量是否正确?还是有其他方法可以正确管理它?感谢您提供的任何建议。

【问题讨论】:

    标签: pythonpath virtual-environment


    【解决方案1】:

    我个人习惯为每个重要项目创建一个虚拟环境 (venv),并在我的主目录中添加一个默认 venv。这也可能对您有所帮助。 Python venv 很便宜!

    我将每个 venv 命名为与我的 python 项目相同。

    额外提示:想象一个名为blah 的项目,那么~/venvs/blah 也会有一个venv。可以定义一个名为 blah 的 bash 别名,将 venv 和 cds 激活到项目目录中:

    alias blah="source ~/.venv/blah/bin/activate; cd ~/work/blah"
    

    现在您在 shell 提示符下键入 blah 并且您正在处理该项目。轰隆隆!

    【讨论】:

    • 谢谢 Mike -- 我喜欢你的方法的一致性和效率。为了进一步说明您的示例:如果我在系统上安装了 Numpy,并且我想在 blah 中使用它,我该怎么做?它应该是一个特定的 Numpy 版本,以防将来某个时候我更新 Numpy,但想保留 Numpy 的原始版本。我错过了它是如何工作的细节,这样 blah 可以找到它的 Numpy 版本,与所有其他具有自己 venvs 的项目分开。
    • 我曾经创建一个requirements.txt 文件并使用pip 的-r 参数来安装所有依赖项。最近我开始创建一个requirements.in 文件并使用pip-tools。我写了一篇关于它的博客mslinn.com/blog/2021/04/05/pip-tools.html
    猜你喜欢
    • 1970-01-01
    • 2019-09-24
    • 1970-01-01
    • 2018-11-25
    • 2020-10-07
    • 1970-01-01
    • 1970-01-01
    • 2021-02-27
    • 2016-08-05
    相关资源
    最近更新 更多