当我从终端和Atom
运行Python时,会调用不同版本的python。因此,我可以从终端调用没有问题的包,但不能从Atom
调用。以下是详细信息:
从terminal
调用python
时,我得到版本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
,得到的结果完全相同)
现在,当我从Atom
查看python
版本时,我得到的是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
获得与终端正在获取的版本相同的版本?
尝试失败
使用命令import sys
查看PATH
,然后使用print(sys.path)
查看我得到的结果:
来自Atom:
['', '/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
根据github page of pyenv的说法。我进入了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 page,并运行了以下命令:
$ 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$
我可以成功地选择正确的虚拟环境。但在打开Atom
时,问题仍然存在
发布于 2018-12-19 03:04:11
好的,实际上我必须修改jupyter内核的.json
文件中的Path
。首先,我检查了jupyter内核的列表:
$ jupyter kernelspec list
julia-0.6 /Users/mymac/Library/Jupyter/kernels/julia-0.6
julia-1.0 /Users/mymac/Library/Jupyter/kernels/julia-1.0
python3 /Users/mymac/Library/Jupyter/kernels/python3
然后我对上面的python路径执行cd
操作,在其中找到了文件kernel.json
并将其打开:
{
"argv": [
"/path/to/python",
"-m",
"ipykernel_launcher",
"-f",
"{connection_file}"
],
"display_name": "Python 3",
"language": "python"
}
在该文件中,我使用在终端中键入以下内容时获得的python路径更改了/path/to/python
行:
$ which python
/Users/mymac/anaconda3/bin/python
重新启动了Atom
,它终于成功了!
github page of jupyter的提示也有很大帮助!
发布于 2018-12-18 07:27:34
您的计算机上必须有多个(不同版本的) Python解释器。在Atom中打开Command Palette并选择"Python: Select Interpreter“。选择要使用的Python版本。
发布于 2018-12-18 23:52:29
如果你有多个版本的python,你应该使用虚拟环境。从终端使用的python版本将取决于您激活的虚拟环境。那么Atom也会使用同样的方法。激活所需的python版本,然后运行Atom。
如果您正在使用Anaconda,那么请安装conda环境。如果你使用Anaconda,这是非常简单的。如果您不使用它,则需要执行一些额外的步骤。
互联网上到处都是创建虚拟环境的指导。
我为Python2.7创建了一个名为py27的环境。当我激活这个环境时,它显示在光标行上,如下所示:
。
如果您看不到这一点,则说明您的环境尚未激活。要在Mac上激活,请键入source activate py27
。我不认为你需要在pc上使用source这个词,但我不能测试它。
https://stackoverflow.com/questions/53824403
复制相似问题