使用 Anaconda 安装 OSMnx

Ben*_*ann 5 python anaconda conda jupyter osmnx

我正在尝试按照此处概述的步骤在我的计算机上安装 Python 3 中的 osmnx 包https://geoffboeing.com/2017/02/python-getting-started/。步骤是:

  1. 下载 miniconda,路径为C:\Anaconda。由于我使用的是大学计算机,因此我无法执行此操作。但是,Anaconda 已安装在这些计算机上,路径为C:\Program Files \Anaconda3.
  2. 在 Anaconda Prompt 中,我尝试了conda update -n base conda。然而,这并没有成功,因为我没有“对目标环境的写权限”( C:\Program Files \Anaconda3)。
  3. 我忽略了这个错误,假设 conda 是最新的。conda config --prepend channels conda-forge跑得很好。
  4. conda create -n ox -c conda-forge osmnx jupyterlabconda activate ox运行良好。OSMnx 和 jupyterlab 在 Anaconda Navigator>Environments>ox>installed 中列出。
  5. 在ox环境下,我运行了jupyter lab,但这给出了以下错误。我对这个巨大的引用感到抱歉,但我不知道如何解释其中的任何一个:
(ox) C:\Users\bm17652>jupyter lab
[I 15:47:48.265 LabApp] Writing notebook server cookie secret to C:\Users\bm17652\AppData\Roaming\jupyter\runtime\notebook_cookie_secret
Traceback (most recent call last):
  File "C:\Users\bm17652\.conda\envs\ox\Scripts\jupyter-lab-script.py", line 9, in <module>
    sys.exit(main())
  File "C:\Users\bm17652\.conda\envs\ox\lib\site-packages\jupyter_core\application.py", line 268, in launch_instance
    return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
  File "C:\Users\bm17652\.conda\envs\ox\lib\site-packages\traitlets\config\application.py", line 663, in launch_instance
    app.initialize(argv)
  File "<C:\Users\bm17652\.conda\envs\ox\lib\site-packages\decorator.py:decorator-gen-7>", line 2, in initialize
  File "C:\Users\bm17652\.conda\envs\ox\lib\site-packages\traitlets\config\application.py", line 87, in catch_config_error
    return method(app, *args, **kwargs)
  File "C:\Users\bm17652\.conda\envs\ox\lib\site-packages\notebook\notebookapp.py", line 1679, in initialize
    self.init_webapp()
  File "C:\Users\bm17652\.conda\envs\ox\lib\site-packages\jupyterlab\labapp.py", line 404, in init_webapp
    super().init_webapp(*args, **kwargs)
  File "C:\Users\bm17652\.conda\envs\ox\lib\site-packages\notebook\notebookapp.py", line 1442, in init_webapp
    self.http_server.listen(port, self.ip)
  File "C:\Users\bm17652\.conda\envs\ox\lib\site-packages\tornado\tcpserver.py", line 152, in listen
    self.add_sockets(sockets)
  File "C:\Users\bm17652\.conda\envs\ox\lib\site-packages\tornado\tcpserver.py", line 165, in add_sockets
    self._handlers[sock.fileno()] = add_accept_handler(
  File "C:\Users\bm17652\.conda\envs\ox\lib\site-packages\tornado\netutil.py", line 279, in add_accept_handler
    io_loop.add_handler(sock, accept_handler, IOLoop.READ)
  File "C:\Users\bm17652\.conda\envs\ox\lib\site-packages\tornado\platform\asyncio.py", line 99, in add_handler
    self.asyncio_loop.add_reader(fd, self._handle_events, fd, IOLoop.READ)
  File "C:\Users\bm17652\.conda\envs\ox\lib\asyncio\events.py", line 501, in add_reader
    raise NotImplementedError
NotImplementedError
Run Code Online (Sandbox Code Playgroud)

当我尝试从 Anaconda Navigator 打开 Jupyter Lab 并运行时import osmnx as ox,出现错误“没有名为 'osmnx' 的模块”。

对我来说,Jupyter Lab 似乎没有正确安装,或者与 osmnx 没有正确的连接。发生这些错误的原因是:

  • 我还没有更新conda?
  • C:\Users\bm17652我从与 Anaconda 所在目录 ( ) 不同的目录 ( ) 运行代码C:\Program Files \Anaconda3
  • 我应该将 Anaconda 下载到其他路径吗?

Hug*_*ley 4

我遇到了类似的问题。解决方案是创建一个为 OSMnx 指定的新的完整环境。这可以使用以下方法完成

conda config --prepend channels conda-forge
conda create -n ox --strict-channel-priority osmnx
Run Code Online (Sandbox Code Playgroud)

然后你必须使用以下命令激活该环境:

(base) C:\Users\User>conda activate ox
Run Code Online (Sandbox Code Playgroud)

之后你可以运行:

(ox) C:\Users\User>python
>>> import osmnx as ox
>>>
Run Code Online (Sandbox Code Playgroud)

测试安装是否成功