在 OS X 上以 32 位模式使用 virtualenv 运行非系统 Python

2023-12-26

简短的问题
使用 virtualenv / virtualenvwrapper 是否可以添加前缀python调用链接到特定的虚拟环境?

背景
我想使用多个虚拟环境已安装酿造 https://github.com/mxcl/homebrewPython 2.7,但有些在 64 位模式下运行,其他则在 32 位模式下运行。

下面是我的 OS X 开发的典型设置。我想添加到的具体前缀python呼叫是arch -i386强制 python 以 32 位模式运行。同样,最重要的部分是它将被添加only打电话后workon env32(如示例所示)。我知道我可以在 .bash_profile 中设置别名,但是每次创建/删除虚拟环境时都必须修改它。

EDIT
为了详细说明我使用简单别名所遇到的问题,可能有超过 1 个 32 位虚拟环境。话虽如此,调用workon理想情况下将前缀添加到python调用,因此终端的工作流程将是相同的。调用后的含义workon env_x_32我就可以使用pythonarch -i386使用终端时对我来说是透明的。

Python安装:

> brew install python --framework --universal

创建虚拟环境(安装 pip、virtualenv 和 virtualenvwrapper 后):

> mkvirtualenv env_1_64 --no-site-packages
> mkvirtualenv env_1_32 --no-site-packages

> mkvirtualenv env_2_64 --no-site-packages
> mkvirtualenv env_2_32 --no-site-packages

64位使用:

> workon env_1_64
> python myscript.py

> workon env_2_64
> python my_other_project_script.py

32 位使用:(当前/非理想)

> workon env_1_32
> arch -i386 python myscript.py  

> workon env_2_32
> arch -i386 python my_other_project_script.py

32 位使用:(理想)

> workon env_1_32
> python my_32bit_project.py # Note that the arch -i386 would be transparent

Solution
跑步与Sean https://stackoverflow.com/users/304379/sean的评论:

我在激活/停用中添加了一个别名,用于我想要作为 32 位运行的环境。请参阅下文了解更多详细信息。

env_1_32:激活脚本

# This file must be used with "source bin/activate" *from bash*
# you cannot run it directly

deactivate () {
    alias python='python' # <---- Added this line

    # reset old environment variables
    if [ -n "$_OLD_VIRTUAL_PATH" ] ; then
        PATH="$_OLD_VIRTUAL_PATH"
        export PATH
        unset _OLD_VIRTUAL_PATH
    fi

    # ****** Removed Content to keep the post shorter*********

}

# unset irrelavent variables
deactivate nondestructive

VIRTUAL_ENV="/Users/Adam/.envs/env_1_32"
export VIRTUAL_ENV

# This should detect bash and zsh, which have a hash command that must
# be called to get it to forget past commands.  Without forgetting
# past commands the $PATH changes we made may not be respected
if [ -n "$BASH" -o -n "$ZSH_VERSION" ] ; then
    hash -r
fi

# ****** Removed Content to keep the post shorter*********

alias python='arch -i386 python' # <---- Added this line to run as 32bit

将别名添加到您的激活脚本中,并激活您想要使用的每种类型的 virtualenv。

$ cd env32
$ echo "alias python='arch -i386 python'" >> bin/activate
$ source bin/activate
$ python myscript.py
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 OS X 上以 32 位模式使用 virtualenv 运行非系统 Python 的相关文章

  • 如何使用固定的 pandas 数据框进行动态 matplotlib 绘图?

    我有一个名为的数据框benchmark returns and strategy returns 两者具有相同的时间跨度 我想找到一种方法以漂亮的动画风格绘制数据点 以便它显示逐渐加载的所有点 我知道有一个matplotlib animat
  • 导入错误:没有名为 _ssl 的模块

    带 Python 2 7 的 Ubuntu Maverick 我不知道如何解决以下导入错误 gt gt gt import ssl Traceback most recent call last File
  • 如何在 Sublime Text 2 的 OSX 终端中显示构建结果

    我刚刚从 TextMate 切换到 Sublime Text 2 我非常喜欢它 让我困扰的一件事是默认的构建结果显示在 ST2 的底部 我的程序产生一些很长的结果 显示它的理想方式 如在 TM2 中 是并排查看它们 如何在 Mac 操作系统
  • 如何在Windows上模拟socket.socketpair

    标准Python函数套接字 套接字对 https docs python org 3 library socket html socket socketpair不幸的是 它在 Windows 上不可用 从 Python 3 4 1 开始 我
  • 如何等到 Excel 计算公式后再继续 win32com

    我有一个 win32com Python 脚本 它将多个 Excel 文件合并到电子表格中并将其另存为 PDF 现在的工作原理是输出几乎都是 NAME 因为文件是在计算 Excel 文件内容之前输出的 这可能需要一分钟 如何强制工作簿计算值
  • Python tcl 未正确安装

    我刚刚为 python 安装了graphics py 但是当我尝试运行以下代码时 from graphics import def main win GraphWin My Circle 100 100 c Circle Point 50
  • 运行多个 scrapy 蜘蛛的正确方法

    我只是尝试使用在同一进程中运行多个蜘蛛新的 scrapy 文档 http doc scrapy org en 1 0 topics practices html但我得到 AttributeError CrawlerProcess objec
  • python pandas 中的双端队列

    我正在使用Python的deque 实现一个简单的循环缓冲区 from collections import deque import numpy as np test sequence np array range 100 2 resha
  • python 集合可以包含的值的数量是否有限制?

    我正在尝试使用 python 设置作为 mysql 表中 ids 的过滤器 python集存储了所有要过滤的id 现在大约有30000个 这个数字会随着时间的推移慢慢增长 我担心python集的最大容量 它可以包含的元素数量有限制吗 您最大
  • Geopandas 设置几何图形:MultiPolygon“等于 len 键和值”的 ValueError

    我有 2 个带有几何列的地理数据框 我将一些几何图形从 1 个复制到另一个 这对于多边形效果很好 但对于任何 有效 多多边形都会返回 ValueError 请指教如何解决这个问题 我不知道是否 如何 为什么应该更改 MultiPolygon
  • Python 3 中“map”类型的对象没有 len()

    我在使用 Python 3 时遇到问题 我得到了 Python 2 7 代码 目前我正在尝试更新它 我收到错误 类型错误 map 类型的对象没有 len 在这部分 str len seed candidates 在我像这样初始化它之前 se
  • 如何将 PIL 图像转换为 NumPy 数组?

    如何转换 PILImage来回转换为 NumPy 数组 这样我就可以比 PIL 进行更快的像素级转换PixelAccess允许 我可以通过以下方式将其转换为 NumPy 数组 pic Image open foo jpg pix numpy
  • 如何在 Django 中使用并发进程记录到单个文件而不使用独占锁

    给定一个在多个服务器上同时执行的 Django 应用程序 该应用程序如何记录到单个共享日志文件 在网络共享中 而不保持该文件以独占模式永久打开 当您想要利用日志流时 这种情况适用于 Windows Azure 网站上托管的 Django 应
  • 对输入求 Keras 模型的导数返回全零

    所以我有一个 Keras 模型 我想将模型的梯度应用于其输入 这就是我所做的 import tensorflow as tf from keras models import Sequential from keras layers imp
  • 循环标记时出现“ValueError:无法识别的标记样式 -d”

    我正在尝试编码pyplot允许不同标记样式的绘图 这些图是循环生成的 标记是从列表中选取的 为了演示目的 我还提供了一个颜色列表 版本是Python 2 7 9 IPython 3 0 0 matplotlib 1 4 3 这是一个简单的代
  • 协方差矩阵的对角元素不是 1 pandas/numpy

    我有以下数据框 A B 0 1 5 1 2 6 2 3 7 3 4 8 我想计算协方差 a df iloc 0 values b df iloc 1 values 使用 numpy 作为 cov numpy cov a b I get ar
  • Python - 字典和列表相交

    给定以下数据结构 找出这两种数据结构共有的交集键的最有效方法是什么 dict1 2A 3A 4B list1 2A 4B Expected output 2A 4B 如果这也能产生更快的输出 我可以将列表 不是 dict1 组织到任何其他数
  • Python 分析:“‘select.poll’对象的‘poll’方法”是什么?

    我已经使用 python 分析了我的 python 代码cProfile模块并得到以下结果 ncalls tottime percall cumtime percall filename lineno function 13937860 9
  • Pandas 与 Numpy 数据帧

    看这几行代码 df2 df copy df2 1 df 1 df 1 values 1 df2 ix 0 0 我们的教练说我们需要使用 values属性来访问底层的 numpy 数组 否则我们的代码将无法工作 我知道 pandas Data
  • PyAudio ErrNo 输入溢出 -9981

    我遇到了与用户相同的错误 Python 使用 Pyaudio 以 16000Hz 录制音频时出错 https stackoverflow com questions 12994981 python error audio recording

随机推荐

  • Angular 2,实现 OnActivate 的组件永远不会调用 routerOnActivate 方法

    我正在尝试使用 Angular 2 Router 记录当前路由 使用官方文档中的示例代码 https angular io docs ts latest api router OnActivate interface html https
  • 在多模块项目上作为“一件”运行 Proguard

    TLDR 如何将 proguard 映射传递给 javac 以针对混淆库进行编译 这很长 但我不知道如何缩短它 背景 我有以下产品设置 Android Studio项目 图书馆模块 子 模块核心 子 模块 A 子 模块 B 子 模块 C 示
  • 是否可以在 64 位 Windows 7 上使用 Qt4 获得本机菜单?

    用 Qt 4 编写的应用程序在 64 位 Windows 7 上运行时没有本机菜单 对于 VLC Lyx 等知名应用程序来说也是如此 Qt 菜单的行为与本机菜单不同 这可能很烦人 作为示例 请考虑下面的屏幕截图 如果鼠标沿着红色路径快速移动
  • 添加产品时,WooCommerce 将追加销售产品添加到购物车

    我正在尝试在我的 WooCommerce 主题中实现自定义追加销售功能 当用户添加产品时 我需要将额外的产品 追加销售 添加到其购物车 这意味着我必须向产品添加一个额外的参数 该参数允许我获取产品 追加销售的关系 并在从购物车中删除产品时删
  • 每月第一天的工作日

    我需要获取该月第一天的工作日 例如 对于当前月份 2013 年 9 月 第一天是星期日 首先 获取当月的第一天 例如 NSDate today NSDate date NSCalendar gregorian NSCalendar allo
  • 尝试更新测试版时 Google Play 出现错误

    当我尝试将新的 apk 上传到我的 beta 频道时 我收到此错误 Errors 在开始推出此版本之前解决这些错误 您无法推出此版本 因为它不允许任何现有用户升级到新添加的 APK 在我的 alpha 频道中 女巫的更新频率要高得多 我可以
  • Matplotlib条形图不绘制边框/边缘

    我的条形图有这个代码 ax1 plt subplot2grid 1 1 0 0 ax1 bar edges2 Nnorm width 0 02 edgecolor green linewidth 20 我认为这应该使我的条形图具有绿色边缘
  • 在酸洗 numpy 数组的子类时保留自定义属性

    我创建了 numpy ndarray 的子类如下numpy 文档 http docs scipy org doc numpy user basics subclassing html 特别是 我有添加了自定义属性 http docs sci
  • 在子组件 React Native 中关闭模式

    我有两个本机组件 我无法从我的子组件中关闭模式 ListTrips 家长 ModalAddTrip 子级 ListTrips js import ModalAddTrip from ModalAddTrip this state isMod
  • Objective C 阻止异步回调和错误访问

    我有一个严重的疑问 假设以下场景 你有一个UIViewController在屏幕上 例如 应用程序使用块作为回调来启动后端调用 您使用 自我 代理来防止保留循环 用户点击 返回 然后UIViewController被释放 迟早 回调块会被执
  • Objective-C enumerateObjectsUsingBlock 与快速枚举?

    以下两种方法的优点和缺点是什么 使用块枚举 https developer apple com documentation foundation nsarray 1415846 enumerateobjectsusingblock lang
  • android错误:删除片段时“提交已调用”

    我想实现一个有片段的活动 当我点击 Fragment1 时 Fragment2 被调用 当我点击 Fragment2 时 Fragment2 应该从屏幕上删除 我通过在 onCreateView 中调用 Fragment2 LinearLa
  • Visual Studio Team Services - 构建失败,定义错误?

    我从事一个项目已经有一段时间了 现在我想使用 Visual Studio Team Services 在本地 Visual Studio 中的构建不会给出错误 并且应用程序按预期工作 我已将此工作代码签入 VSTS 因此它位于存储库中并且可
  • 计数返回空白而不是 0

    今天是个好日子 这是我的代码 SELECT Expired Item DateName mm DATEADD MM 4 AE fld LOAN as Month COUNT PIT fld ID COUNT SUM PIT fld GRAM
  • Android 上的 kivy/Python 缺少 Unicode 编解码器?

    我有一个在 kivy 下运行的程序 它在 Windows 上运行良好 但在 Android 上打开文件失败 两个平台上都是 1 8 0 奇怪的是 当我明确要求 utf 8 时 错误消息表明它正在尝试解码 ASCII 而且该文件中的任何位置都
  • 如何解压和打包pkg文件?

    我有一个由 Install Maker for Mac 创建的 pkg 文件 我想替换 pkg 中的一个文件 但我必须在Linux系统下执行此操作 因为这是下载过程的一部分 当用户开始下载文件时 服务器必须替换 pkg 中的一个文件 我有一
  • 编译 gtkmm 时出现问题

    操作系统 Fedora 14 编译器 g GCC 4 5 1 20100924 红帽 4 5 1 4 我通过 yum 从存储库安装了 gtkmm24 devel 为了确保安装按计划进行 我决定尝试页面上的示例之一 include
  • Oracle 中的动态表分区

    我正在为我的应用程序构建一个数据库存储 该存储由一个具有巨大数据量 数亿条记录 的表组成 我计划在日期字段上建立索引 因为我将不时地对给定时间段内的所有记录进行批量恢复 例如 检索第二天的所有记录 午夜 由于记录数量巨大并且性能是该系统中的
  • 递归地 (?) 将 LINQ 谓词组合成单个谓词

    编辑 我问错了问题 real我遇到的问题已经结束将 LINQ to SQL 谓词组合成单个谓词 https stackoverflow com questions 3782940 compose linq to sql predicates
  • 在 OS X 上以 32 位模式使用 virtualenv 运行非系统 Python

    简短的问题使用 virtualenv virtualenvwrapper 是否可以添加前缀python调用链接到特定的虚拟环境 背景我想使用多个虚拟环境已安装酿造 https github com mxcl homebrewPython 2