擅长:python、mysql、java
<p>将脚本放入virtualenv的bin中,然后将该bin位置添加到全局路径将不会自动获取virtualenv的源代码。你需要先找到它的来源才能激活它。</p>
<p>您的系统只知道检查可执行文件的额外路径并运行它。脚本中没有任何内容表示virtualenv。</p>
<p>但是,您可以将she-bang行硬编码到virtualenv python中,在这种情况下,站点包最终将位于以下路径:</p>
<pre><code>#!/Users/foo/environments/project/env/bin/python
</code></pre>
<p>或者另一个选择是简单地创建一个调用原始pythons脚本的小bash包装器,这将允许您在原始脚本中留下一个通用的she-bang。。</p>
<p>所以如果myscript.py是:<code>#!/usr/bin/env python</code>。。。</p>
<p>然后你可以做一个<code>myscript</code>:</p>
<pre><code>#!/bin/bash
/Users/foo/environments/project/env/bin/python myscript.py
</code></pre>
<p>当您执行<code>myscript</code>时,它将使用您设置的解释器显式调用您的python脚本。</p>