首页 > 解决方案 > 为什么python会挂在virtualenv中?

问题描述

我在 Windows 机器上的 Cygwin 终端中使用 virtualenv。当我没有激活 virtualenv 时,我可以运行$ python启动 python shell。我也可以$ python my_script.py在 virtualenv 中通过 fine 运行脚本,但是一旦我尝试直接在虚拟环境中启动 python shell,它就会无限期挂起。

$ virtualenv --version
15.2.0

$ python --version
Python 2.7.13

$ which python
/usr/bin/python

(virtualenv) $ python --version
Python 2.7.9

(virtualenv) $ which python
/path/to/virtualenv/dir/Scripts/python

(virtualenv) $ python -v
# installing zipimport hook
import zipimport # builtin
# installed zipimport hook
# C:\Users\WiegreS\test_project\test\lib\site.pyc matches C:\Users\WiegreS\test_project\test\lib\site.py
import site # precompiled from C:\Users\WiegreS\test_project\test\lib\site.pyc
# C:\Users\WiegreS\test_project\test\lib\os.pyc matches C:\Users\WiegreS\test_project\test\lib\os.py
import os # precompiled from C:\Users\WiegreS\test_project\test\lib\os.pyc
import errno # builtin
import nt # builtin
# C:\Users\WiegreS\test_project\test\lib\ntpath.pyc matches C:\Users\WiegreS\test_project\test\lib\ntpath.py
import ntpath # precompiled from C:\Users\WiegreS\test_project\test\lib\ntpath.pyc
# C:\Users\WiegreS\test_project\test\lib\stat.pyc matches C:\Users\WiegreS\test_project\test\lib\stat.py
import stat # precompiled from C:\Users\WiegreS\test_project\test\lib\stat.pyc
# C:\Users\WiegreS\test_project\test\lib\genericpath.pyc matches C:\Users\WiegreS\test_project\test\lib\genericpath.py
import genericpath # precompiled from C:\Users\WiegreS\test_project\test\lib\genericpath.pyc
# C:\Users\WiegreS\test_project\test\lib\warnings.pyc matches C:\Users\WiegreS\test_project\test\lib\warnings.py
import warnings # precompiled from C:\Users\WiegreS\test_project\test\lib\warnings.pyc
# C:\Users\WiegreS\test_project\test\lib\linecache.pyc matches C:\Users\WiegreS\test_project\test\lib\linecache.py
import linecache # precompiled from C:\Users\WiegreS\test_project\test\lib\linecache.pyc
# C:\Users\WiegreS\test_project\test\lib\types.pyc matches C:\Users\WiegreS\test_project\test\lib\types.py
import types # precompiled from C:\Users\WiegreS\test_project\test\lib\types.pyc
# C:\Users\WiegreS\test_project\test\lib\UserDict.pyc matches C:\Users\WiegreS\test_project\test\lib\UserDict.py
import UserDict # precompiled from C:\Users\WiegreS\test_project\test\lib\UserDict.pyc
# C:\Users\WiegreS\test_project\test\lib\_abcoll.pyc matches C:\Users\WiegreS\test_project\test\lib\_abcoll.py
import _abcoll # precompiled from C:\Users\WiegreS\test_project\test\lib\_abcoll.pyc
# C:\Users\WiegreS\test_project\test\lib\abc.pyc matches C:\Users\WiegreS\test_project\test\lib\abc.py
import abc # precompiled from C:\Users\WiegreS\test_project\test\lib\abc.pyc
# C:\Users\WiegreS\test_project\test\lib\_weakrefset.pyc matches C:\Users\WiegreS\test_project\test\lib\_weakrefset.py
import _weakrefset # precompiled from C:\Users\WiegreS\test_project\test\lib\_weakrefset.pyc
import _weakref # builtin
# C:\Users\WiegreS\test_project\test\lib\copy_reg.pyc matches C:\Users\WiegreS\test_project\test\lib\copy_reg.py
import copy_reg # precompiled from C:\Users\WiegreS\test_project\test\lib\copy_reg.pyc
# C:\Users\WiegreS\test_project\test\lib\locale.pyc matches C:\Users\WiegreS\test_project\test\lib\locale.py
import locale # precompiled from C:\Users\WiegreS\test_project\test\lib\locale.pyc
import encodings # directory C:\Users\WiegreS\test_project\test\lib\encodings
# C:\Users\WiegreS\test_project\test\lib\encodings\__init__.pyc matches C:\Users\WiegreS\test_project\test\lib\encodings\__init__.py
import encodings # precompiled from C:\Users\WiegreS\test_project\test\lib\encodings\__init__.pyc
# C:\Users\WiegreS\test_project\test\lib\codecs.pyc matches C:\Users\WiegreS\test_project\test\lib\codecs.py
import codecs # precompiled from C:\Users\WiegreS\test_project\test\lib\codecs.pyc
import _codecs # builtin
# C:\Users\WiegreS\test_project\test\lib\encodings\aliases.pyc matches C:\Users\WiegreS\test_project\test\lib\encodings\aliases.py
import encodings.aliases # precompiled from C:\Users\WiegreS\test_project\test\lib\encodings\aliases.pyc
# C:\Users\WiegreS\test_project\test\lib\re.pyc matches C:\Users\WiegreS\test_project\test\lib\re.py
import re # precompiled from C:\Users\WiegreS\test_project\test\lib\re.pyc
# C:\Users\WiegreS\test_project\test\lib\sre_compile.pyc matches C:\Users\WiegreS\test_project\test\lib\sre_compile.py
import sre_compile # precompiled from C:\Users\WiegreS\test_project\test\lib\sre_compile.pyc
import _sre # builtin

这一切在我看来都很正常。有任何想法吗?

标签: pythonvirtualenv

解决方案


好的,我想我找到了一种解决方法,基于其他人发布然后删除的评论。

(virtualenv) $ python -m idlelib.idle

打开一个 IDLE shell,这符合我的目的。


推荐阅读