如何从 python 中激活 pyvenv virtualenv? (activate_this.py 被删除了?)

2024-02-24

我正在使用 Python 3.4,并创建了 pyvenv,我希望从 python 进程中激活它。对于 virtualenv,我曾经使用过activate_this.py,但这似乎在 pyvenv 中消失了。

现在有没有一种简单的方法可以有效地将当前解释器更改为 virtualenv 解释器?我可能会弄乱路径(这就是activate_this.py做了),但我想要一种更简单、更稳定的方法。

这是在 wsgi.py 中使用的。


pyvenvvenv模块不支持开箱即用。第三方virtualenv包裹确实支持这个使用activate_this.py https://virtualenv.pypa.io/en/latest/userguide.html#using-virtualenv-without-bin-python, but 该功能未包含在内置中venv module https://bugs.python.org/issue21496.

你可以尝试借一​​份activate_this.py from a virtualenv基础环境;它似乎有效,尽管我不能发誓它会是完美的(venv/pyvenv在启动过程中使用一些魔法;不清楚是否所有内容都是通过复制的activate_this.py).

The virtualenv它的文档对于 Python 3 来说已经过时了(他们声称你使用execfile,不存在)。 Python 3 兼容的替代方案是:

activator = 'some/path/to/activate_this.py'  # Looted from virtualenv; should not require modification, since it's defined relatively
with open(activator) as f:
    exec(f.read(), {'__file__': activator})

Nothing activate_this.py确实很神奇,所以你可以手动执行相同的更改,而无需从virtualenv(调整PATH, sys.path, sys.prefix等),但在这种情况下借用会使事情变得简单得多。

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

如何从 python 中激活 pyvenv virtualenv? (activate_this.py 被删除了?) 的相关文章

随机推荐

  • 如何使用 Ionic 4 检测平台

    如何使用 Ionic 4 检测浏览器和移动网络平台 因为当我在桌面浏览器中尝试使用以下代码时 它没有落入 core 健康 状况 if this platform is core alert core platform else alert
  • 返回Task的接口的同步实现

    如同在同步代码中实现需要 Task 返回类型的接口 https stackoverflow com questions 26352034 implementing an interface that requires a task retu
  • 如何不在链接中的元素下划线?

    我试图在链接上加下划线 但 myspan 元素除外 在任何情况下我都不希望在该元素下加下划线 我还想更改 myspan 的颜色 规则似乎并不适用于此 如果我颠倒顺序并且不在 a 下划线而是在 myspan下划线 则似乎适用了规则 我见过此链
  • 在 Node 中使用 Postgres 的 Sequelize 请求查询日期范围

    我想做的是使用 Node js 中的 Sequelize ORM 获取两个日期之间的行 我正在使用 PostgreSQL 问题是 Sequelize 错误地解释了我提出的请求 这是我用来发出请求的代码 const dbresp await
  • 未找到无服务器命令“离线”

    我正在运行我的nodejs代码并且还安装了无服务器 npm i g 无服务器 但是在使用命令运行它时sls offline start CacheInvalidations我收到错误如下 无服务器错误 未找到无服务器命令 离线 您指的是 c
  • Android,.txt 电子邮件附件未通过意图发送

    我正在测试创建一个 txt 文件 然后通过意图将其作为电子邮件附件发送 创建 txt 文件 try String fileName testFileName txt File root new File Environment getExt
  • 从 maven 在 nexus 中部署工件会出现错误“返回代码是:401”?

    我在 Nexus 中部署时收到 401 错误 我没有对已安装的 Nexus 进行任何更改 Nexus 正在运行localhost 8080 nexus我可以使用默认用户 密码登录 当我跑步时mvn deploy我收到这个错误 这是我的 PO
  • 将所有数据框字符列转换为因子

    给定一个包含各种类型列的 预先存在的 数据框 将其所有字符列转换为因子而不影响任何其他类型列的最简单方法是什么 这是一个例子data frame df lt data frame A factor LETTERS 1 5 B 1 5 C a
  • 使用 JPA Criteria API,您可以执行仅产生一个连接的获取连接吗?

    使用 JPA 2 0 似乎默认情况下 没有显式获取 OneToOne fetch FetchType EAGER 字段在 1 N 次查询中获取 其中 N 是包含定义与不同相关实体的关系的实体的结果数 使用 Criteria API 我可能会
  • Openpyxl - 对象没有属性“load_workbook”

    我正在尝试使用 openpyxl 加载现有工作簿 但当我试图奔跑时这段代码 http packages python org openpyxl usage html read an existing workbook 我收到以下错误 Att
  • ASP.NET Core 3.1 无法取消保护消息。状态在调试器中运行

    我已使用默认模板从 VS 2022 创建了 ASP NET Core 3 1 Web 应用程序 并选择 Microsoft Identity 来使用 Azure AD 身份验证 向导在我的 Azure AD 租户中生成了应用程序注册 一切看
  • 是否可以创建一个剪切的div?

    是否可以创建一个剪切 倾斜的标题 div 如下图所示 它适用于移动网站 是的 这是可能的 DEMO http jsfiddle net jbutler483 2qmmpmb9 2 wrapper overflow hidden height
  • 媒体查询/根据屏幕尺寸加载不同的图像

    这可能是基本的 但我迷失在我在网上找到的所有解决方案中 我有一个基于 Twitter Bootstrap 3 的正在运行的网站 www webstalab com 但使用的图像 描绘了两个拿着球的雕像 相当大 大约 900kb 因此在较慢的
  • 将 War 部署到 Mule 独立服务器中

    我有一个 mule 独立服务器 其中包含我正在开发的应用程序 该应用程序使用的许多服务将来将从 Mule 容器移至 JBoss 集群中 因此 我在 Mule 流和 Web 服务之间保持了严格的分离 然而 截至目前 我需要将 War 文件部署
  • 如何在 Maven 中包含/引用 jackson-all.jar

    我无法找到 jackson all jar 的存储库条目 不知道为什么我可以看到单独的杰克逊罐子信息 所以 如何引用 jackson all jar 对于 杰克逊 2 请查看com fasterxml jackson http search
  • awk 中的字符串比较

    我需要按字母顺序比较两个字符串 而不仅仅是相等测试 我想知道有没有办法在 awk 中进行字符串比较 当然可以 pax echo hello goodbye gawk if 0 hello print HELLO HELLO 你也可以做不等式
  • 将内部 div 不透明度设置为 1,但不生效

    我有一个带有背景图像和背景颜色的 div 我把这个div的不透明度设置为0 7 之后 我在这个 div 内部创建了一个内部 div 但我不想给这个 div 带来不透明度 这是我的CSS代码 outer position relative b
  • System.Windows.Forms.SaveFileDialog 不强制执行默认扩展名

    我正在努力使SaveFileDialog and FileOpenDialog对用户输入的文件名强制执行扩展名 我尝试过使用中提出的示例问题 389070 https stackoverflow com questions 389070 h
  • 为网站实现字体?

    我在 CSS 中使用字体 AR CENA 但在浏览网站时它没有加载字体 对我来说它运行良好 但我认为因为我已经安装了字体 所以它从我的电脑加载它 有没有办法实现这种字体并正常出现在网站上供用户使用 u2966 5 z index 500 w
  • 如何从 python 中激活 pyvenv virtualenv? (activate_this.py 被删除了?)

    我正在使用 Python 3 4 并创建了 pyvenv 我希望从 python 进程中激活它 对于 virtualenv 我曾经使用过activate this py 但这似乎在 pyvenv 中消失了 现在有没有一种简单的方法可以有效地