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

带有--python标志的mkvirtualenv使用了错误的python版本

  •  1
  • Joff  · 技术社区  · 6 年前

    我正在尝试创建一个python2.7环境,但是当我运行

    $ mkvirtualenv --python=python2.7 venv
    $ python
    
    Python 3.6.5 (default, Jun 17 2018, 12:13:06)
    [GCC 4.2.1 Compatible Apple LLVM 9.1.0 (clang-902.0.39.2)] on darwin
    Type "help", "copyright", "credits" or "license" for more information.
    >>>
    

    我安装了python3.6。知道上面是什么吗?

    下面是带有绝对路径和详细标志的输出

     Jeff$ mkvirtualenv -v --python=/usr/bin/python2.7 neovim2
    Running virtualenv with interpreter /usr/bin/python2.7
    Creating /Users/Jeff/.virtualenvs/neovim2/lib/python2.7
    Symlinking Python bootstrap modules
      Symlinking /Users/Jeff/.virtualenvs/neovim2/lib/python2.7/lib-dynload
      Symlinking /Users/Jeff/.virtualenvs/neovim2/lib/python2.7/config
      Symlinking /Users/Jeff/.virtualenvs/neovim2/lib/python2.7/os.py
      Ignoring built-in bootstrap module: posix
      Symlinking /Users/Jeff/.virtualenvs/neovim2/lib/python2.7/posixpath.py
      Cannot import bootstrap module: nt
      Symlinking /Users/Jeff/.virtualenvs/neovim2/lib/python2.7/ntpath.py
      Symlinking /Users/Jeff/.virtualenvs/neovim2/lib/python2.7/genericpath.py
      Symlinking /Users/Jeff/.virtualenvs/neovim2/lib/python2.7/fnmatch.py
      Symlinking /Users/Jeff/.virtualenvs/neovim2/lib/python2.7/locale.py
      Symlinking /Users/Jeff/.virtualenvs/neovim2/lib/python2.7/encodings
      Symlinking /Users/Jeff/.virtualenvs/neovim2/lib/python2.7/codecs.py
      Symlinking /Users/Jeff/.virtualenvs/neovim2/lib/python2.7/stat.py
      Symlinking /Users/Jeff/.virtualenvs/neovim2/lib/python2.7/UserDict.py
      Symlinking /Users/Jeff/.virtualenvs/neovim2/lib/python2.7/copy_reg.py
      Symlinking /Users/Jeff/.virtualenvs/neovim2/lib/python2.7/types.py
      Symlinking /Users/Jeff/.virtualenvs/neovim2/lib/python2.7/re.py
      Symlinking /Users/Jeff/.virtualenvs/neovim2/lib/python2.7/sre.py
      Symlinking /Users/Jeff/.virtualenvs/neovim2/lib/python2.7/sre_parse.py
      Symlinking /Users/Jeff/.virtualenvs/neovim2/lib/python2.7/sre_constants.py
      Symlinking /Users/Jeff/.virtualenvs/neovim2/lib/python2.7/sre_compile.py
      Symlinking /Users/Jeff/.virtualenvs/neovim2/lib/python2.7/warnings.py
      Symlinking /Users/Jeff/.virtualenvs/neovim2/lib/python2.7/linecache.py
      Symlinking /Users/Jeff/.virtualenvs/neovim2/lib/python2.7/_abcoll.py
      Symlinking /Users/Jeff/.virtualenvs/neovim2/lib/python2.7/abc.py
      Symlinking /Users/Jeff/.virtualenvs/neovim2/lib/python2.7/_weakrefset.py
    Creating /Users/Jeff/.virtualenvs/neovim2/lib/python2.7/site-packages
    Writing /Users/Jeff/.virtualenvs/neovim2/lib/python2.7/site.py
    Writing /Users/Jeff/.virtualenvs/neovim2/lib/python2.7/orig-prefix.txt
    Writing /Users/Jeff/.virtualenvs/neovim2/lib/python2.7/no-global-site-packages.txt
    Creating parent directories for /Users/Jeff/.virtualenvs/neovim2/include
    Symlinking /Users/Jeff/.virtualenvs/neovim2/include/python2.7
    Creating /Users/Jeff/.virtualenvs/neovim2/bin
    New python executable in /Users/Jeff/.virtualenvs/neovim2/bin/python
    Changed mode of /Users/Jeff/.virtualenvs/neovim2/bin/python to 0755
    Symlinking /Users/Jeff/.virtualenvs/neovim2/.Python
    Testing executable with /Users/Jeff/.virtualenvs/neovim2/bin/python -c "import sys;out=sys.stdout;getattr(out, "buffer", out).write(sys.prefix.encode("utf-8"))"
    Got sys.prefix result: u'/Users/Jeff/.virtualenvs/neovim2'
    Creating /Users/Jeff/.virtualenvs/neovim2/lib/python2.7/distutils
    Writing /Users/Jeff/.virtualenvs/neovim2/lib/python2.7/distutils/__init__.py
    Writing /Users/Jeff/.virtualenvs/neovim2/lib/python2.7/distutils/distutils.cfg
    Installing setuptools, pip, wheel...
      Looking in links: /usr/local/lib/python3.6/site-packages, /usr/local/lib/python3.6/site-packages/virtualenv_support
      Collecting setuptools
        Using cached https://files.pythonhosted.org/packages/7f/e1/820d941153923aac1d49d7fc37e17b6e73bfbd2904959fffbad77900cf92/setuptools-39.2.0-py2.py3-none-any.whl
      Collecting pip
      Collecting wheel
      Installing collected packages: setuptools, pip, wheel
      Successfully installed pip-10.0.1 setuptools-39.2.0 wheel-0.31.1
    ...Installing setuptools, pip, wheel...done.
    Writing /Users/Jeff/.virtualenvs/neovim2/bin/activate
    Writing /Users/Jeff/.virtualenvs/neovim2/bin/activate.fish
    Writing /Users/Jeff/.virtualenvs/neovim2/bin/activate_this.py
    Writing /Users/Jeff/.virtualenvs/neovim2/bin/activate.csh
    Writing /Users/Jeff/.virtualenvs/neovim2/bin/python-config
    Changed mode of /Users/Jeff/.virtualenvs/neovim2/bin/python-config to 0755
    virtualenvwrapper.user_scripts creating /Users/Jeff/.virtualenvs/neovim2/bin/predeactivate
    virtualenvwrapper.user_scripts creating /Users/Jeff/.virtualenvs/neovim2/bin/postdeactivate
    virtualenvwrapper.user_scripts creating /Users/Jeff/.virtualenvs/neovim2/bin/preactivate
    virtualenvwrapper.user_scripts creating /Users/Jeff/.virtualenvs/neovim2/bin/postactivate
    virtualenvwrapper.user_scripts creating /Users/Jeff/.virtualenvs/neovim2/bin/get_env_details
     neovim2  Jeff $ python
    Python 3.6.5 (default, Jun 17 2018, 12:13:06)
    [GCC 4.2.1 Compatible Apple LLVM 9.1.0 (clang-902.0.39.2)] on darwin
    Type "help", "copyright", "credits" or "license" for more information.
    >>>
    
    3 回复  |  直到 6 年前
        1
  •  3
  •   Richard Green    6 年前

    你的 path variable正在接收另一条python。。

    which python

    路径

        2
  •  3
  •   zgoda    6 年前

    --python 不使用 PATH /usr/bin/python 指向),或者必须指定可执行文件的完整路径。但是通过调用,您应该得到“可执行文件xxx(from--python=xxx)不存在”,如:

    $ mkvirtualenv --python=python3 test
    The executable /home/jazg/python3 (from --python=/home/jazg/python3) does not exist
    

    $ mkvirtualenv --python=/usr/bin/python3 test
    Already using interpreter /usr/bin/python3
    Using base prefix '/usr'
    New python executable in /home/jazg/v/test/bin/python3
    Also creating executable in /home/jazg/v/test/bin/python
    Installing setuptools, pkg_resources, pip, wheel...done.
    $ python --version
    Python 3.5.2
    
        3
  •  -1
  •   smassey    6 年前

    你没做什么 source venv/bin/activate 在创建venv之后。试试看;)