标签 虚拟环境 下的文章

随着最新发布的更新,Bottles 正在成为一个近乎完美的解决方案,无需任何特别的努力就可以在 Linux 上安装 Windows 应用程序。

你可以 使用 Wine 在 Linux 上安装 Windows 应用程序,但它并不适用所有的应用程序。此外,它还需要你手动配置东西。那么,有什么简单的选择呢?

虽然 CrossOver 一直在尽力使这个过程更容易,但还另一个解决方案:Bottles。

随着 Bottles 的最新发布,它的目标是更加顺滑地以最小的调整来运行你喜欢的 Windows 应用程序。

Bottles 2022.2.14 的新变化

该版本带来了一些新功能、改进和大量的错误修复。让我强调一下以下关键变化:

安装程序

以下是开发者对新功能的介绍:

这些是由 Bottles 解释的指令集,以重现程序的安装。这个过程是由维护者写在清单文件中的,他们能够按照同样的步骤安装程序。

简单来说,这些一键式安装程序会自动安装软件,而不需要你手动调整什么。这类似于 Lutris 帮助游戏玩家安装一个需要大量调整的游戏。

目前只有不多的几个安装程序,主要是第三方游戏启动程序。用户如果想安装像 Origin 这样的程序,可以简单地在他们的首选“瓶子”中进入安装程序部分,点击下载按钮。(LCTT 译注:“瓶子”指一个虚拟环境。)

开发人员还承诺,你可以期待很快有更多的安装程序。

一个专门的应用程序商店

为了展示可用的安装程序,他们在其官方网站上推出了一个 应用商店。它包含了所有可用安装程序的列表和必要的信息,如依赖性、配置和支持的架构。用户可以期待更多有用的功能,如评论功能很快就会到来。

需要注意的一点是,并不是所有的安装程序都能完美无缺地工作。因此,开发者引入了一种叫做“等级”的东西,指的是安装的程序的顺利工作的程度。分级范围从铜级到白金级,与 Wine 的兼容性评级方式非常相似。

用户可以放心,每个安装程序至少都可以运行该程序并执行程序所需完成的主要功能。但除非安装程序被评为白金级,否则用户应该对错误、图形故障和崩溃的出现有所预期。此外,安装程序也会与还原点一起工作。

新的搜索栏

拥有多个“瓶子”的用户现在可以使用全新的搜索功能来寻找特定的“瓶子”。请注意,它在默认情况下是隐藏的,如果你至少安装了 10 个“瓶子”,就会自动启用。

我觉得,作为搜索栏的基本功能应该已经实现了,总比没有强!

“瓶子”的自定义路径

以前,用户不能为“瓶子”设置自定义路径。在这个版本中,用户可以在偏好部分中实现这一功能。如果用户的存储空间不足,并计划使用一个单独的驱动器,这非常有帮助。

请注意,Flatpak 用户得专门为 Bottles 启用权限,以访问 Flatpak 环境之外的任何位置。你也可以试试 Flatseal 来管理 Flatpak 的权限

改进和错误修复

除了主要的功能升级外,还有一些有用的全面改进,一些值得强调的有:

  • 可用于非 Flapak 软件包的运行环境,可通过首选项中的核心部分安装。
  • 用户现在能够使用内置的任务管理器终止正在进行的进程。
  • 用户还可以从位于上下文菜单中的终端中启动程序。
  • 已经有了对 Gamescope 和 dxvk-async 组件的支持。

这个版本中也修复了各种基本的错误。其中包括 Flatpak 版本中游戏模式的修复,以及 DXVK 版本的改变,删除了初始备份。

你可以参考他们的 官方发布说明 来了解更多的技术细节。

总结

Bottles 的目标是成为每个运行 Windows 软件的 Linux 用户的必备应用。而且,有了所有这些改进,它看起来很有前景!

安装程序的增加应该对很多用户有极大的帮助。你怎么看?请在下面的评论中告诉我你的想法。


via: https://news.itsfoss.com/bottles-2022-2-14-release/

作者:Rishabh Moharir 选题:lujun9972 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

虚拟环境是安全地使用不同版本的 Python 和软件包组合的关键。

 title=

Python 对管理虚拟环境的支持,已经提供了一段时间了。Python 3.3 甚至增加了内置的 venv 模块,用于创建没有第三方库的环境。Python 程序员可以使用几种不同的工具来管理他们的环境,我使用的工具叫做 virtualenvwrapper

虚拟环境是将你的 Python 项目及其依赖关系与你的系统安装的 Python 分离的一种方式。如果你使用的是基于 macOS 或 Linux 的操作系统,它很可能在安装中附带了一个 Python 版本,事实上,它很可能依赖于那个特定版本的 Python 才能正常运行。但这是你的计算机,你可能想用它来达到自己的目的。你可能需要安装另一个版本的 Python,而不是操作系统提供的版本。你可能还需要安装一些额外的库。尽管你可以升级你的系统 Python,但不推荐这样做。你也可以安装其他库,但你必须注意不要干扰系统所依赖的任何东西。

虚拟环境是创建隔离的关键,你需要安全地修改不同版本的 Python 和不同组合的包。它们还允许你为不同的项目安装同一库的不同版本,这解决了在相同环境满足所有项目需求这个不可能的问题。

为什么选择 virtualenvwrapper 而不是其他工具?简而言之:

  • venv 需要在项目目录内或旁边有一个 venv 目录不同,virtualenvwrapper 将所有环境保存在一个地方:默认在 ~/.virtualenvs 中。
  • 它提供了用于创建和激活环境的命令,而且激活环境不依赖于找到正确的 activate 脚本。它只需要(从任何地方)workon projectname而不需要 source ~/Projects/flashylights-env/bin/activate

开始使用

首先,花点时间了解一下你的系统 Python 是如何配置的,以及 pip 工具是如何工作的。

以树莓派系统为例,该系统同时安装了 Python 2.7 和 3.7。它还提供了单独的 pip 实例,每个版本一个:

  • 命令 python 运行 Python 2.7,位于 /usr/bin/python
  • 命令 python3 运行 Python 3.7,位于 /usr/bin/python3
  • 命令 pip 安装 Python 2.7 的软件包,位于 /usr/bin/pip
  • 命令 pip3 安装 Python 3.7 的包,位于 /usr/bin/pip3

 title=

在开始使用虚拟环境之前,验证一下使用 pythonpip 命令的状态是很有用的。关于你的 pip 实例的更多信息可以通过运行 pip debugpip3 debug 命令找到。

在我运行 Ubuntu Linux 的电脑上几乎是相同的信息(除了它是 Python 3.8)。在我的 Macbook 上也很相似,除了唯一的系统 Python 是 2.6,而我用 brew 安装 Python 3.8,所以它位于 /usr/local/bin/python3(和 pip3 一起)。

安装 virtualenvwrapper

你需要使用系统 Python 3 的 pip 安装 virtualenvwrapper

sudo pip3 install virtualenvwrapper

下一步是配置你的 shell 来加载 virtualenvwrapper 命令。你可以通过编辑 shell 的 RC 文件(例如 .bashrc.bash_profile.zshrc)并添加以下几行:

export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv
source /usr/local/bin/virtualenvwrapper.sh

 title=

如果你的 Python 3 位于其他地方,请根据你的设置修改第一行。

关闭你的终端,然后重新打开它,这样才能生效。第一次打开终端时,你应该看到 virtualenvwrapper 的一些输出。这只会发生一次,因为一些目录是作为设置的一部分被创建的。

现在你应该可以输入 mkvirtualenv --version 命令来验证 virtualenvwrapper 是否已经安装。

创建一个新的虚拟环境

假设你正在进行一个名为 flashylights 的项目。要用这个名字创建一个虚拟环境,请运行该命令:

mkvirtualenv flashylights

环境已经创建并激活,所以你会看到 (flashlylights) 出现在你的提示前:

 title=

现在环境被激活了,事情发生了变化。python 现在指向一个与你之前在系统中识别的 Python 实例完全不同的 Python 实例。它为你的环境创建了一个目录,并在其中放置了 Python 3 二进制文件、pip 命令等的副本。输入 which pythonwhich pip 来查看它们的位置。

 title=

如果你现在运行一个 Python 程序,你可以用 python 代替 python3 来运行,你可以用 pip 代替 pip3。你使用 pip安装的任何包都将只安装在这个环境中,它们不会干扰你的其他项目、其他环境或系统安装。

要停用这个环境,运行 deactivate 命令。要重新启用它,运行 workon flashylights

你可以用 workon 或使用 lsvirtualenv 列出所有可用的环境。你可以用 rmvirtualenv flashylights 删除一个环境。

在你的开发流程中添加虚拟环境是一件明智的事情。根据我的经验,它可以防止我在系统范围内安装我正在试验的库,这可能会导致问题。我发现 virtualenvwrapper 是最简单的可以让我进入流程的方法,并无忧无虑地管理我的项目环境,而不需要考虑太多,也不需要记住太多命令。

高级特性

  • 你可以在你的系统上安装多个 Python 版本(例如,在 Ubuntu 上使用 deadsnakes PPA),并使用该版本创建一个虚拟环境,例如,mkvirtualenv -p /usr/bin/python3.9 myproject
  • 可以在进入和离开目录时自动激活、停用。
  • 你可以使用 postmkvirtualenv 钩子在每次创建新环境时安装常用工具。

更多提示请参见文档

本文基于 Ben Nuttall 在 Tooling Tuesday 上关于 virtualenvwrapper 的帖子,经许可后重用。


via: https://opensource.com/article/21/2/python-virtualenvwrapper

作者:Ben Nuttall 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出