如何从虚拟环境 (virtualenv) 启动 python Idle

2024-03-05

我有一个从虚拟环境安装的软件包。如果我只是启动 python 解释器,则可以很好地导入该包。但是,如果我启动 Idle,则无法导入该包(因为它仅在一个特定的 virtualenv 中可用,而不是在全局中可用)。如何从 virtualenv 启动 Idle,以便 virtualenv 中的所有包都可用?


简短回答

  1. 启动虚拟环境
  2. Run python -m idlelib.idle

From 这个答案 https://stackoverflow.com/a/8792082/5059062.

长答案

这个答案假设Python 3。

有几种不同的虚拟环境管理器,每种管理器处理 python 安装位置和运行方式的方式都略有不同,如这个答案中详细说明的 https://stackoverflow.com/a/41573588/5059062.

这个答案假设venv https://docs.python.org/3/library/venv.html使用了模块,并且它是按照文档安装 https://docs.python.org/3/tutorial/venv.html.

注意:某些 Linux 发行版将 venv 模块打包到单独的包中: and Debian https://packages.debian.org/search?keywords=python3-venv

如果虚拟环境安装在名为的文件夹中my_project-venv通过跑步python -m venv my_project-venv从文件夹内my_project,虚拟环境将位于模块创建的新文件夹内:

my_project_dir
      │
      ┝━ my_project-venv

在 Windows 上,使用 Python 3.7.1,my_project-venv文件夹可能看起来像这样:

my_project-venv
      │
      ┝━ Include
      ┝━ Lib
      ┝━ Scripts
      │     ┝━ ...
      │     ┝━ activate.bat
      │     ┝━ Activate.ps1
      │     ┝━ deactivate.bat
      │     ┕━ ...
      │
      ┕━ pyvenv.cfg

可以通过运行以下任一命令来启动虚拟环境activate.bat or Activate.ps1脚本,取决于是否cmd或使用 PowerShell https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/windows-commands#BKMK_OVR:

:: Using cmd.exe
cd my_project_dir
.\my_project-venv\Scripts\activate.bat
# Using PowerShell
cd my_project_dir
.\my_project-venv\Scripts\Activate.ps1

注意:如果通过双击运行这些脚本,则它们不会使 shell 保持打开状态。启动 shell,然后通过键入上述命令来运行它们,并为您的项目更改文件夹名称

在大多数其他操作系统上,虚拟环境文件夹将如下所示:

my_project-venv
      │
      ┝━ bin
      │     ┝━ ...
      │     ┝━ activate
      │     ┝━ activate.csh
      │     ┝━ activate.fish
      │     ┕━ ...
      │
      ┝━ include
      ┝━ lib
      ┝━ lib64
      ┕━ pyvenv.cfg

然后,从除csh or fish https://fishshell.com/,通过以下方式激活环境:

# Most operating systems
cd my_project_dir
. my_project-venv/bin/activate

For csh and fish有特定于 shell 的脚本用于激活虚拟环境(activate.csh and activate.fish,分别)并且它们可以像activate script.

在所有操作系统上激活虚拟环境后,运行以下命令将启动 IDLE,并可以访问安装到虚拟环境中的软件包:

python -m idlelib.idle
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从虚拟环境 (virtualenv) 启动 python Idle 的相关文章

随机推荐