【发布时间】:2018-02-15 10:55:40
【问题描述】:
我更新了 mkvirtualenv 和 virtualenv 的版本
$ sudo pip install --upgrade virtualenv virtualenvwrapper
因为我这辈子只用过 Python 2,现在想用 Python 3。virtualenvwrapper 有一些问题。
然后我尝试为我的 python3 安装创建一个虚拟环境:
$ mkvirtualenv py3test -p /usr/bin/python3
环境是在~/.virtualenvs/py3test 中创建的。激活后,我想安装我制作的软件包:
(py3test)$ pip install python-cantrips (py3test)$ 点冻结
并且该软件包已正确安装。然后我安装ipython 并运行它:
(py3test)$ pip install ipython (py3test)$ ipython
然后我适当地输入ipython。但后来我...
import cantrips
它会以ImportError 爆炸。然后我检查sys.path。问题就在这里:sys.path 包含如下路径:'/home/myuser/.virtualenvs/py3test/lib/python2.7/site-packages'。我不记得路径是否准确,因为我现在不在这样的计算机中。但我可以肯定一件事:环境是用python3创建的(我的virtualenv中的目录不是python2.7而是python3.5)。
那么:为什么 virtualenv 为 python3 创建了一个环境,却给我添加了路径,就好像它是一个 python2.7 环境一样?
【问题讨论】:
-
您是否尝试使用
pip3?如果你想要 Python3 的 env 运行这个python3 -m venv ENV -
当你刚刚运行
python时会显示哪个版本? -
@KlausD。我使用的默认 python 版本是 Python 2.7。我应该在运行 mkvirtualenv 之前更改默认的 python 选项吗?如果是这样,virtualenv 中的 -p 选项的目的是什么?
标签: python virtualenv virtualenvwrapper