繁体   English   中英

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

[英]mkvirtualenv with --python flag uses wrong python version

我正在尝试制作python 2.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.
>>>

您的path变量正在拾取另一个python。

尝试

which python

path

帮助您执行正确的python

--python不使用PATH变量。 要么使用默认的Python( /usr/bin/python指向的那个),要么必须指定可执行文件的完整路径。 但是,通过调用,您应该会得到“可执行xxx(来自--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

创建venv之后,您没有执行source venv/bin/activate 试试看;)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM