【问题标题】:virtualenv hanging forever pythonanywherevirtualenv 永远挂在 pythonanywhere
【发布时间】:2016-09-28 06:08:21
【问题描述】:

我正在尝试按照tutorial 在 pythonanywhere 上获取 django 应用程序,但是在尝试使用

创建虚拟环境时
 virtualenv --python=python3.5 myvenv

控制台挂起

我前一阵子做过这个,我记得这一切都很轻松,但是当运行这个命令时,控制台只是挂起,我最终被放到了 tarpit 中。当我中断进程时,我在 Python 2.7 中遇到了一些错误

virtualenv --python=python3.5 myvenv
Running virtualenv with interpreter /usr/bin/python3.5
Using base prefix '/usr'
New python executable in /home/username/myvenv/bin/python3.5
Also creating executable in /home/username/myvenv/bin/python
Traceback (most recent call last):
  File "/usr/local/bin/virtualenv", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 669, in main
Traceback (most recent call last):
    raise SystemExit(popen.wait())
  File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 2327, in <module>
  File "/usr/lib/python2.7/subprocess.py", line 1376, in wait
pid, sts = _eintr_retry_call(os.waitpid, self.pid, 0)
  File "/usr/lib/python2.7/subprocess.py", line 476, in _eintr_retry_call
    return func(*args)
KeyboardInterrupt
    main()
  File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 711, in main
    symlink=options.symlink)
  File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 944, in create_environment
    download=download,
  File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 900, in install_wheel
    call_subprocess(cmd, show_stdout=False, extra_env=env, stdin=SCRIPT)
  File "/usr/local/lib/python2.7/dist-packages/virtualenv.py", line 767, in call_subprocess
    line = stdout.readline()
KeyboardInterrupt

不确定这些是否与任何事情有关,或者它们是否只是因为中断。

【问题讨论】:

    标签: python virtualenv pythonanywhere


    【解决方案1】:

    一般做法是直接引用python二进制,将virtualenv作为模块运行,并指定放置virtualenv的目录。对于上面的示例:

    /path/to/python/bin/python3.5 -m virtualenv myvenv
    

    这将在 myvenv 中创建虚拟环境,运行 python3.5。注意:您的 python3.5 基础安装必须安装 virtualenv 库(通过 pip 或源)。

    希望这会有所帮助! :)

    【讨论】:

    • 谢谢。我试过了,它确实使用了 python 3.5,但仍然挂起
    • 堆栈跟踪有区别吗?
    • 你不应该只使用python3.5。您需要使用which python3.5 或答案中提到的virtualenv --python=/path/to/python/bin/python3.5 myvenv
    • @Lekic 是的,在中断时我得到相同的堆栈跟踪,除了提到 python 2.7 而是提到了 python 3.5。
    • @conrad 尝试你的命令我得到与问题相同的结果
    猜你喜欢
    • 2017-02-26
    • 2012-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-03
    • 2015-02-06
    相关资源
    最近更新 更多