Szy*_*ski 11 python virtualenv yolk
yolk -l给我的信息是我在Ubuntu 10.04上安装了114个软件包.使用后创建新的virtualenv目录
virtualenv virt_env/virt1 --no-site-packages --clear
我切换到那个,我的提示改变了,然后yolk -l又给了我相同的114个包.
那里发生了什么?
Car*_*yer 18
激活virtualenv可以通过更改shell PATH来实现,因此virtualenv的bin /目录是第一个.这就是它的全部.这意味着当你运行"python"时,它运行virtualenv的Python二进制文件的副本,而不是你的全局系统python.
但是,如果全局安装了yolk,则PATH上唯一的"yolk"二进制文件是/ usr/local/bin/yolk或其他一些; 激活virtualenv不会改变这一点(因为你的virtualenv bin/dir中没有"蛋黄"脚本).而/ usr/local/bin/yolk脚本自然会在其shebang行中使用您的系统Python解释器.
这就是为什么在virtualenv中安装yolk可以解决问题; 因为它在你的virtualenv bin/dir中添加了一个蛋黄脚本,在其shebang行中有virtualenv的python.
如果您不想在每个virtualenv中安装yolk,您也可以只将/ yrk脚本包装器从/ usr/local/bin或其中的任何位置复制到virtualenv的bin目录中,并手动更改shebang行以指向您的virtualenv的蟒蛇.但是,这不适用于--no-site-packages virtualenv,因为脚本包装器将无法找到它需要导入的实际yolk包!如果你想在--no-site-packages virtualenv中使用yolk,你真正唯一的选择是在那里安装它.
| 归档时间: |
|
| 查看次数: |
2527 次 |
| 最近记录: |