模块可以在python shell中工作,但不能在jupyter笔记本中工作

时间:2018-10-16 11:46:13

标签: python

自从Python开始以来,在尝试安装和使用其他软件包时,我多次遇到此问题。在这种情况下,我一直在尝试安装geopy。我用过:

pip3 install geopy

得到了:

Collecting geopy
Using cached 
https://files.pythonhosted.org/packages/f3/b4/c8842fc6a07fc95d6887370768850885382b47bf52f5cd8b6a4ae1b6f4d9/geopy-1.17.0-py2.py3-none-any.whl
Collecting geographiclib<2,>=1.49 (from geopy)
Installing collected packages: geographiclib, geopy
Successfully installed geographiclib-1.49 geopy-1.17.0

接下来,我试图确保已安装它,但是我得到了:

geopy --version
geopy: command not found

我尝试了

sudo apt-get install python-geopy
[sudo] password for jan: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
python-geopy is already the newest version (1.11.0+ds1-1).
0 upgraded, 0 newly installed, 0 to remove and 11 not upgraded.

我还尝试在Jupyter Notebooks中使用它:     导入geopy

   ---------------------------------------------------------------------------
    ModuleNotFoundError                       Traceback (most recent call last)
    <ipython-input-1-99b9d2081153> in <module>()
    ----> 1 import geopy

    ModuleNotFoundError: No module named 'geopy'

我不确定,因为不是菜鸟,但我认为这可能与以下事实有关:默认情况下,我的Ubuntu发行版中安装了Python 2.7,而我安装了Python3并一直在使用它。我在〜/ .bashrc的第一行中添加了Python = Python3,希望可以解决该问题。对于其他软件包,这在我之前已经发生过很多次了。请帮忙。欢迎任何批评,对不起,如果我不以任何方式遵守stackoverflow礼节(仍然是菜鸟)。

4 个答案:

答案 0 :(得分:0)

我认为您的问题可能通过虚拟环境得以解决。只需创建Venv,然后从那里使用“ python”即可。看这里:https://docs.python.org/3/library/venv.html

答案 1 :(得分:0)

  1. 在shell中键入'python -V'并运行,看看是否需要默认的env

  2. 如果您创建了虚拟环境,请确保创建正确,并且不要!移动环境!

答案 2 :(得分:0)

在笔记本中尝试以下命令。
也许您在Jupiter环境中安装了其他python。

!pip3 install geopy

答案 3 :(得分:0)

好的,我在做一个培训课程时对此感到有些头疼,而正在展示的那个人并没有那么准确。

以下是一些链接和建议以尝试修复。我在为Jupyter Notebook使用Anaconda。

在“ https://groups.google.com/a/continuum.io/forum/#!topic/anaconda/pqFuJBDcBb4”中,最后一个注释中有命令。

因此,只需以管理员身份打开Anaconda CLI提示符。

conda install -c conda-forge geopy

完成操作后,必须确保使用正确的语法,因为其中某些语法已从此处的“教程”中更改。这是一个很好的解释:https://github.com/geopy/geopy

from geopy.geocoders import Nominatim
geolocator = Nominatim(user_agent="My_geolocate")

lookingFor = "Moscow"
locations = geolocator.geocode(lookingFor)

print(locations)

结果:

找到莫斯科

Москва,Центральныйфедеральныйокруг,Россия

如果您想返回英文位置:

locations = geolocator.geocode(lookingFor, language="en")

参考:https://anaconda.org/conda-forge/geopy https://github.com/geopy/geopy