Ubuntu 16.04 下安装 virtualenv 用哪个命令?有什么区别?

2016-08-17 15:31:37 +08:00
 zmrenwu

楼主是 Ubuntu 新手,请教大家一个问题,请勿见笑。

安装 Ubuntu 是为了 python 开发,自然没有 virtualenv 不行,最好能再装好 virtualenvwrapper 。

先装 virtualenv ,网上搜教程很多,分两个学派:

  1. sudo pip3 install virtualenv (假设已经装好 pip3 ,我想用 python3 的环境) 然后命令行输入 virtualenv [目录] 命令就可以虚拟环境了,但是我用上述方法安装后发现命令行输入 virtualenv 提示找不到命令。小白对此一筹莫展,于是换用方法二。

  2. sudo apt-get install python-virtualenv 这样安装后很好使,成功创建,要使用 python3 , virtualenv 命令后加 -p python3 参数就可以了。

接下来装 virtualenvwrapper ,同样 sudo pip3 install virtualenvwrapper ,装好后在命令行无法识别相关的命令。这时我发现 /usr/local/bin 下有一个 virtualenvwrapper.sh 文件,打开发现有一个安装说明文档,于是我按照他的指示运行了这个脚本,可以成功地使用 virtualenvwrapper 的命令了。但是还是存在这样的问题,默认情况下 mkvirtualenv 命令使用 py2 为我创建虚拟环境,我想为他指定 py3 ,于是我输入:mkvirtualenv --p python3,他提示我要我指定一个路径,但是我想使用它的默认路径(设定为:~/.virtualenvs )。

想请教一下上面描述的问题到底怎么回事?

  1. pip3 install virtualenv , apt-get install python-virtualenv 有什么区别?

  2. virtualenvwrapper 如何使用 py3 来创建环境,而不用我显示为他指定路径,使用它默认路径即可?(默认总是 py2 )

5068 次点击
所在节点    Linux
11 条回复
SpicyCat
2016-08-17 16:42:27 +08:00
我倒是推荐 https://github.com/yyuu/pyenv

pyenv 和 virtualenv 能配合使用
liuenyan
2016-08-17 16:48:46 +08:00
mkvirtualenv -p /usr/bin/python3 venv 创建就可以。

pip 和 apt 安装的位置不一样。 pip 安装的包位于 /usr/local/lib/python2.7/dist-packages/, apt 安装的包位于 /usr/lib/python2.7/dist-packages/。
unfurl
2016-08-17 17:38:19 +08:00
1. 安装 pyenv
2. 用 pyenv 安装更合适的 python 版本
3. 切换 python 版本,安装 pip
4. 用 pip 安装各种依赖
livc
2016-08-17 17:41:03 +08:00
https://livc95.cn/archives/841

希望能帮助你。
daya
2016-08-17 17:49:08 +08:00
你没有执行: source activate 吧
cxyfreedom
2016-08-17 18:13:00 +08:00
同推荐 pyenv
zmrenwu
2016-08-17 18:22:01 +08:00
@daya 我现在还是卡在建环境步骤,还没有用到激活命令。
triostones
2016-08-17 18:26:35 +08:00
推荐 pyenv 。自动 activate , pyenv shell 又能灵活切换 env 。
zmrenwu
2016-08-17 18:34:30 +08:00
谢谢各位了,用惯了 wrapper ,不打算切换了。换用 apt-get install virtualenvwrapper 解决了,小白暂时先这样凑合用吧,以后再深入研究下原理。
clino
2016-08-17 19:11:31 +08:00
从源码装不行吗?
wellsc
2016-08-18 02:48:18 +08:00
More try try 就行了…

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/299916

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX