代码之家  ›  专栏  ›  技术社区  ›  espenhogbakk

使用virtualenv导入错误

  •  9
  • espenhogbakk  · 技术社区  · 15 年前

    我对virtualenv有问题。我经常使用它,我在我的开发机器和几个服务器上使用它。但在我尝试使用的最后一台服务器上,我遇到了一个问题。

    我使用--no site packages参数创建了一个virtualenv,然后在virtualenv中安装了一些python模块。我可以确认模块位于virtualenvs站点包中,一切似乎都很好。

    但当我尝试这样做时: source virtualenv/bin/activate 然后导入其中一个模块 python import modulename 我得到一个导入错误,该错误表示该模块不存在。这是怎么发生的?它似乎从来没有激活过,即使它说它激活了。

    有人知道怎么解决这个问题吗?

    3 回复  |  直到 15 年前
        1
  •  18
  •   Carl Meyer    15 年前

    这台机器上是否有“python”的bash别名?这将优先于activate所做的路径修改,并可能导致使用错误的python二进制文件。

    尝试直接运行virtualenv/bin/python(无需激活),看看是否可以导入模块。

        2
  •  9
  •   codeape    15 年前

    激活虚拟环境后,请尝试:

    $ python
    >>> import sys
    >>> sys.executable
    ...
    

    ... 并查看是否正在运行预期的可执行文件。

    同时检查:

    >>> sys.path
    [...]
    
        3
  •  0
  •   Jeff Peck    15 年前