Nic*_*k T 4 python bash virtualenv
Diffuse 安装在我的工作站上并且可以很好地与 Mercurial 配合使用,所以我经常使用它来进行比较。但是,我也使用 Python virtualenv 在更可控的设置中使用一些不同的模块(更容易发送给其他人)。当我尝试从我的 virtualenv(此处命名为sandbox)中运行 Diffuse 时,它会呕吐:
(sandbox)nickt@aiguadassi:/home/codes/nickt/Tape-Worms/Code
$ diffuse bread.py # fail...
Traceback (most recent call last):
File "/usr/bin/diffuse", line 124, in <module>
import pygtk
ImportError: No module named pygtk
Run Code Online (Sandbox Code Playgroud)
在外面它工作得很好......
(sandbox)nickt@aiguadassi:/home/codes/nickt/Tape-Worms/Code
$ deactivate
nickt@aiguadassi:/home/codes/nickt/Tape-Worms/Code
$ diffuse bread.py # works fine.
Run Code Online (Sandbox Code Playgroud)
我假设 Diffuse 是一个 Python 应用程序,并且依赖于在环境中查找模块;有没有办法让它使用“全局”环境(例如通过别名)?我不确定程序对环境做了什么……它是否在 PATH 中搜索模块,尝试使用任何which python出现的东西……
小智 5
如果第一行/usr/bin/diffuse看起来像:
#!/usr/bin/env python
Run Code Online (Sandbox Code Playgroud)
它将在您的 virtualenv 中在 Python 中运行。大多数 Python 应用程序应将其设置为:
#!/usr/bin/python
Run Code Online (Sandbox Code Playgroud)
它将使用系统 Python 运行它。如果这是错误的,则可能是 Diffuse 中的错误或其在 Debian/Ubuntu 中的包装中的错误。
| 归档时间: |
|
| 查看次数: |
928 次 |
| 最近记录: |