【问题标题】:Cant run Machine Learning codes with virtual environment无法在虚拟环境中运行机器学习代码
【发布时间】:2018-03-20 11:57:33
【问题描述】:

我正在尝试从该站点测试机器学习代码:https://github.com/lyuboraykov/flight-genie 我对机器学习真的很陌生,而且我正在使用 Windows。

我已经安装了运行代码的要求(python、virtualenv、numpy、sklearn、scipy 等),但是当我尝试运行主代码时卡住了,它显示如下通知:

请帮忙,谢谢

【问题讨论】:

  • 如果您显示文件夹结构,这个问题会更好。我怀疑这与特定代码有什么关系,只是 python 查找模块的地方。

标签: python machine-learning virtual-environment


【解决方案1】:

如果你以

身份运行 python 脚本
python dir_name/script.py

...然后python将执行文件夹dir_name中名为script.py的文件。这里会发生的是python程序将首先进入dir_name文件夹,然后运行脚本。
在您的情况下,如果您键入python flight_genie/main.py,它将进入文件夹flight_genie 并执行该文件。然后python在那里找不到名为flight_genie的文件夹(实际上是模块),因为python程序已经在该文件夹中。这就是您收到此错误的原因。

因此,解决此问题的一种方法是将所有 import flight_genie.xxxx 替换为 import xxxx。 (还有from flight_genie.xxxx import yyyyfrom xxxx import yyyy

但是,如果您有一个大型项目,那就太费时间了。 (有时它甚至不起作用)。所以最好的方法是将项目作为一个整体模块来运行。
如果您查看here,您可以了解如何将 python 模块作为脚本运行。您只需在控制台中输入以下命令即可。

python -m flight_genie.main

ps:我假设您在 Windows 中安装了python3,并配置为在命令行中键入python 时运行python3

【讨论】:

    【解决方案2】:

    您是否完成了作者页面上描述的安装步骤?恐怕你没看过这篇……

    sh
    # you have to have python 3 installed
    pyenv env
    source env/bin/activate
    pip install -r requirements.txt
    python flight_genie/main.py
    

    【讨论】:

    • 我有,由于某种原因我无法安装 pyenv(我猜 bcs 我正在使用 windows)所以我安装了 virtualenv
    【解决方案3】:

    根据错误消息,我认为您的问题在于您的导入。我猜应该是这样的:

    from flight import Flight
    

    代替:

    from flight_genie.flight import Flight
    

    如果这不起作用,请尝试发布您的代码,以便我们尝试找出问题。

    【讨论】:

      猜你喜欢
      • 2021-09-17
      • 2018-09-22
      • 1970-01-01
      • 2018-10-03
      • 2013-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-16
      相关资源
      最近更新 更多