簡體   English   中英

模塊在 python shell 中工作,但在 jupyter notebooks 中不工作

[英]modules work in python shell but not in jupyter notebooks

從 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 中使用它:import geopy

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

    ModuleNotFoundError: No module named 'geopy'

我不確定,因為菜鳥,但我認為這可能與 Python 2.7 默認安裝在我的 Ubuntu 發行版中有關,而我安裝了 Python3 並一直在使用它。 我在 ~/.bashrc 的第一行添加了 Python = Python3,希望能解決這個問題。 這在我之前用其他軟件包發生過很多次。 請幫忙。 歡迎任何批評,對不起,如果我以任何方式不遵守 stackoverflow 禮儀(仍然是一個菜鳥)。

我認為您的問題可以通過虛擬環境解決。 只需創建 Venv,然后從那里使用“python”。 看這里: https : //docs.python.org/3/library/venv.html

  1. 在 shell 中輸入 'python -V' 並運行,看看默認的 env 是否是你想要的

  2. 如果你已經創建了虛擬環境,請確保你創建正確,不要!!! 移動環境!!!

在您的筆記本中嘗試如下命令。
也許你安裝在與 Jupiter 環境不同的 python 中。

!pip3 install geopy

好吧,我對此有點頭疼,因為我正在做一個訓練計划,而展示的那個人並不准確。

以下是一些嘗試修復的鏈接和建議。 我在 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM