【问题标题】:How do I use an external .py file?如何使用外部 .py 文件?
【发布时间】:2010-10-21 03:41:48
【问题描述】:

我下载了 beautifulsoup.py 用于我正在制作的一个小项目。我需要在我的项目中导入这个 .py 文件吗?

我是否只是将代码复制并粘贴到当前 python 脚本中的某处?

感谢您的帮助。

我找到了这个,但它没有说明任何关于 Windows 的信息。 http://mail.python.org/pipermail/tutor/2002-April/013953.html

我在使用它时遇到此错误。我将 .py 文件复制并粘贴到我的项目在 Windows 资源管理器上的文件夹中,但没有发生这种情况。有什么建议么?

【问题讨论】:

  • 我很惊讶没有人发布此行 docs.python.org/py3k/tutorial/modules.html 以及“RTFM”评论...
  • @Sergio -- 这样做的原因是文件名为 BeautifulSoup.2.1.1 -- 将其更改为 BeautifulSoup 并且一切都应该正常工作 (TM)跨度>

标签: python


【解决方案1】:

如果它和你的小项目在同一个目录下,你需要做的就是:

import BeautifulSoup

如果您将其保存在其他目录中,最简单的方法是:

from sys import path
path.append(path_to_Beautiful_Soup)

import BeautifulSoup

Python 会跟踪它当前的位置,并首先在当前目录中查找。然后它检查sys.path 中的所有路径以查找相关模块。如果在这些地方都找不到它,则会引发错误。

【讨论】:

    【解决方案2】:

    当您以规范方式安装 beautifulsoup(例如使用 easy_install,或使用 Windows 安装程序,如果有)时,beautifulsoup 模块可能会添加到您的 PYTHONDIR\lib\site-packages 目录中。

    这意味着

    import beautifulsoup
    

    应该可以解决问题。

    否则,将 beautifulsoup.py(如果是单个文件)添加到您当前的项目目录,然后发出 import beautifulsoup 也应该可以解决问题。

    【讨论】:

      【解决方案3】:

      您有多种选择:

      • 你可以剪切和粘贴代码,假设许可证允许等。但是,当代码更新时会发生什么?

      • 您可以将代码放入与您的代码相同的目录(即文件夹)中。那么你需要做的就是在尝试使用它之前说import beautifulsoup

      • 您可以将代码放在 python 加载路径中的某处。

      【讨论】:

      • +1:即使您忘记了“您可以阅读教程并自己弄清楚。”
      【解决方案4】:

      我以前做过,将 BeautifulSoup.py 与脚本放在同一目录中并导入它就可以了。如果您有多个脚本分布在不同的目录中,请将 beautifulsoup 文件放在根目录中并进行相对导入。

      【讨论】:

        【解决方案5】:

        你必须通过在命令行中正确地在 python 中安装一个新包:

        pip install BeautifulSoup 
        

        如果您不知道包的名称,请使用:

        pip search beautiful 
        

        并且 pip 将获得所有名称或描述中包含“美丽”的包......

        还有一件非常重要的事情;并且因为您使用了eclipse(netbeans,它是一样的)和pydev,我可以看到;您应该在安装新软件包时刷新 pydev 使用的软件包列表,方法是进入菜单(对于 Eclipse)Window -> Preference -> Pydev -> Interpreter - Python 并单击 应用为什么会这样?,以便您可以正确使用 pydev 的全部功能(代码完成,F3 ...),并且因为 Pydev 在您告诉他之前不知道是否添加了包。

        这些步骤适用于 Eclipse,您可以在 netbeans 中进行类似操作吗?

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-07-14
          • 1970-01-01
          • 1970-01-01
          • 2012-10-10
          • 1970-01-01
          • 2017-02-25
          相关资源
          最近更新 更多