python - 为什么从终端和 Atom 调用 python 的版本不同
问题描述
当我从终端和 from 运行 Python 时Atom
,会调用不同版本的 python。因此,有些包我可以从终端毫无问题地调用,但我不能从Atom
. 以下是详细信息:
python
从调用时terminal
,我得到版本 3.7.1
$ python
Python 3.7.1 | packaged by conda-forge | (default, Nov 13 2018, 09:50:42)
[Clang 9.0.0 (clang-900.0.37)] :: Anaconda custom (64-bit) on darwin
(如果我键入,我会得到完全相同的结果python3
)
现在,当我查看python
版本时,Atom
我得到了 3.6.5 版本
>>> import sys
>>> print(sys.version
3.6.5 | packaged by conda-forge | (default, Apr 6 2018, 13:44:09)
[GCC 4.2.1 Compatible Apple LLVM 6.1.0 (clang-602.0.53)]
怎么来的?我怎样才能Atom
获得与终端获得的版本相同的版本?
失败的尝试
PATH
用命令查看import sys
,然后print(sys.path)
这是我得到的:
从原子:
['', '/anaconda3/lib/python36.zip', '/anaconda3/lib/python3.6',
'/anaconda3/lib/python3.6/lib-dynload', '/anaconda3/lib/python3.6/site-packages',
'/anaconda3/lib/python3.6/site-packages/aeosa', '/anaconda3/lib/python3.6/site-packages/cycler-0.10.0-py3.6.egg',
'/anaconda3/lib/python3.6/site-packages/IPython/extensions', '/Users/mymac/.ipython']
从终端:
['', '/Users/mymac/anaconda3/lib/python37.zip',
'/Users/mymac/anaconda3/lib/python3.7',
'/Users/mymac/anaconda3/lib/python3.7/lib-dynload',
'/Users/mymac/anaconda3/lib/python3.7/site-packages',
'/Users/mymac/anaconda3/lib/python3.7/site-packages/aeosa']
似乎Atom
正在使用pyenv
给定以下命令和输出的 Python 版本:
$ pyenv versions
* system (set by /Users/mymac/.pyenv/version)
3.6.5
根据pyenv 的 github 页面。我进入了pyenv virtualenv 3.7.1
。然后$ pyenv versions
在至少输入 3.7.1 版本时在列表中:
* system (set by /Users/mymac/.pyenv/version)
3.6.5
3.7.1
但这并没有解决问题Atom
然后我访问了关于管理环境的 conda页面并运行了以下命令:
$ conda create --name myenv
它运行没有问题,但问题仍然存在
然后我尝试更具体地运行,$ conda create -n myenv python=3.7.1
但得到:CondaValueError: prefix already exists: /Users/mymac/anaconda3/envs/myenv
正如@jmh所指出的,然后我尝试了:$ source activate 3.7.1
并得到了以下提示:(3.7.1) user:~ user$
我可以成功选择正确的virtualenv。但是打开Atom
后问题依旧
解决方案
您的计算机上必须有多个(不同版本的)Python 解释器。在 Atom 中打开命令面板并选择“Python: Select Interpreter”。选择您要使用的 Python 版本。
推荐阅读
- python - 来自函数对象的静态方法。为什么我不需要静态方法呢?
- installation - Yeoman 生成器未安装在 VDI 中
- python - Plotly Dash 并排图
- jolt - 使用 JOLT 基于过滤器提取 Json 数组中的某些字段
- codeigniter - Codeigniter get_where() 函数某些条件不起作用
- sql - 在列中查找特定匹配项,如果该 id 没有该值,则返回 null
- elasticsearch - 使用 Logstash 和 Filebeat 在弹性搜索中选择文件夹中的每个文件作为单个日志条目
- python - 如何在python中并行化类方法?
- angular8 - Angular - 仅限年份选择器
- c# - Unity Android 将本地 MP3 或 WAV 加载为 AudioClip