这需求遇到好几次了,就是我想执行如下两个命令:
第一个用 2.7 执行,第二个用 3.7 执行。
但如果我设置pyenv local 2.7.10
后,再执行python3 yyy
的时候,会出现这种错误:
$ python3 yyy
pyenv: python3: command not found
The `python3' command exists in these Python versions:
3.7.0
必须要切换到 3.7.0,才能执行。但下次执行python xxx
的时候又得切换回去……有方法可以同时使用多个版本的 python 么?不用切换就执行能执行三条命令:python3.7.0 xxx
、python3.6.5 yyy
、python2.7.10 zzz
?
ps. 其实平时工作里基本用不到 python2 了,不过 npm 装东西的时候要用,否则就失败……这问题不知道有没有解决方案?为啥 npm 装东西的时候可能用到 python2 ?
1
arYUWang 2018-10-03 02:34:31 +08:00
LZ 要不要考虑用 Pycharm?
不管你装多少个 Python,Pycharm 都可以根据 Project 选择 Python Interpreter |
2
Trim21 2018-10-03 02:57:29 +08:00
py 命令
py -2.7 --version py -3.7 --version 在 venv 里也能直接调用外面的 python 版本 不过好像是 windows 独有的... |
4
Sylv 2018-10-03 03:09:22 +08:00 via iPhone 5
遇到问题先看文档:
https://github.com/pyenv/pyenv/blob/master/README.md#choosing-the-python-version pyenv 是支持激活多个 Python 版本的,例如: pyenv local 2.7.10 3.6.5 3.7.0 |
5
lightening 2018-10-03 03:17:42 +08:00
我用 pipenv
pipenv run python xxx/yyy |
6
jasonqiao36 2018-10-03 08:48:56 +08:00 via Android
4 楼正解
|
7
franklinyu 2018-10-03 09:03:28 +08:00
NPM 用到的是 https://github.com/nodejs/node-gyp 吧,我記得 Python 3 也支持的
|
8
DAPTX4869 2018-10-03 13:36:15 +08:00
额...没用过 pyenv,直接软链 py3 跑了
|
9
jeffson 2018-10-03 22:12:29 +08:00
|
10
agagega 2018-10-04 00:48:05 +08:00 via iPhone
rbenv
ndenv goenv 现在有 pyenv 了么... |
12
PulpFunction 2018-10-04 11:11:21 +08:00 via Android
@agagega 有的,并且推荐使用
记得继承了 vir 那一套 |
13
likuku 2018-10-04 22:23:33 +08:00
pyenv virtualenv 搭配来一下多好,不同需求的应用不同独立虚拟版本环境。
“读文档成本有点高”?,这年头都开始流行拿到手开箱闷头直接就是干,而根本不读说明书的么? 就不怕大力出奇迹,不,烧掉厨房嘛?(笑) |
14
likuku 2018-10-04 22:28:11 +08:00
|
15
phithon OP @likuku 我觉得有价值的才会去花时间,比如 django,上个月才读文档读出了一个 CVE。这个你不用质疑我,行事风格不一样而已。
|
16
ddzzhen 2018-10-05 12:36:44 +08:00 via Android
软链接到不同版本即可
|
17
Owenjia 2018-10-10 00:08:24 +08:00
如果你用 Gentoo (Prefix) 的话可以直接前面加个环境变量解决,
比如 $ EPYTHON=python2.7 <program> 目前还没见到解决的比这个更好的…… FYI: [1] https://wiki.gentoo.org/wiki/Project:Python/python-exec#Local_implementation_overrides [2] https://wiki.gentoo.org/wiki/Project:Prefix#Developer_platforms |