【问题标题】:Import own .py files in anaconda spyder在 anaconda spyder 中导入自己的 .py 文件
【发布时间】:2021-10-30 11:40:31
【问题描述】:

我在蜘蛛 (anaconda) 中编写了自己的 mail.py 模块。我想通过'import mail'将这个py文件导入其他python(蜘蛛)文件中

我在互联网上搜索并没有找到明确的解决方案。

【问题讨论】:

    标签: python anaconda


    【解决方案1】:

    要导入任何 python 脚本,它应该存在于 PYTHONPATH 中。您可以使用以下代码进行检查:

    import sys
    print sys.path
    

    要导入您的 Python 脚本:

    1. 将两个脚本(主脚本和导入的 python 脚本)放入 同一个目录。
    2. 将要导入的文件的位置添加到 系统路径。

    例如,如果脚本位于'/location/to/file/script.py':

     import sys
     sys.path.append('/location/to/file/')
     import script
    

    【讨论】:

    • 那我总是需要做: sys.path.append('location') ?我可以将 .py 文件放在文件夹中吗?
    • 如我所说,如果 mail.py 与您要导入的其他 python 文件位于同一文件夹中,则无需任何操作,只需 import mail 即可。
    【解决方案2】:

    我遇到了同样的问题,我的文件在同一个文件夹中,但在导入“to_be_imported_file.py”时出现错误。

    在将它导入另一个文件之前,我必须单独运行“to_be_imported_file.py”。

    我希望它也对你有用。

    【讨论】:

      【解决方案3】:

      搜索了这个问题的答案。要将.py 文件用作主文件夹中的导入模块,您需要将两个文件放在一个文件夹中或将路径附加到该位置。如果您将两个文件存储在一个文件夹中,请检查 spyder 界面右上角工作目录。由于错误的工作目录,您将看到ModuleNotFoundError

      【讨论】:

      • 请在您的回答中提供更多详细信息。正如目前所写的那样,很难理解您的解决方案。
      【解决方案4】:

      有很多选择,例如

      • 将 mail.py 文件与其他 python 文件放在一起(这是因为当前工作目录位于 PYTHONPATH 上。
      • 将 mail.py 的副本保存在 anaconda python 环境的“/lib/site-packages”文件夹中,以便使用该环境的任何 python 脚本都可以使用它。

      【讨论】:

        【解决方案5】:

        我做了一个稍微不同的解决方法,它不太复杂。当我启动我的 anaconda 终端时,它出现在 C 提示符下。在启动 python 之前,我只是在开始窗口中做了一个 cd d:\mypython\lib 。一旦我这样做了,我就可以简单地使用“import MyClass as my”导入我自己放入该库的类,然后我就开始运行了。有趣的是,我在业余时间进行了 2 天的互联网搜索,也找不到答案,直到我问了一个朋友。

        cd d:\mypython\lib
        python
        >>> import MyClass as my
        >>> my1=my.MyClass()
        >>> my1.doSomething() 
        

        在我的 anaconda / windows 10 环境 python 3.6.6 上为我工作。

        【讨论】:

          【解决方案6】:

          从另一个文件调用任何函数时,应注意不要在函数内部导入任何库

          【讨论】:

            【解决方案7】:

            我认为最简单的解决方案是将包含 Python 文件的目录放入计算机上的 Anaconda 站点包文件夹中。我写了一个article 概述了整个过程,但简而言之,您需要创建一个包含python 脚本和__init__.py 文件的文件夹。然后将该文件夹放在 Anaconda 目录中的 site-packages 文件夹中。

            在 Windows 上,site-packages 目录通常位于:
            C:\Users\[your_username]\Anaconda3\Lib\site-packages\

            在 Mac 上site-packages 目录通常位于: Users/[your_username]/opt/anaconda3/lib/[python3.8]/site-packages/

            注意,在 Mac 上,Python 版本很重要。您需要查找与 Anaconda 使用的 (base) Python 版本对应的目录。此外,我在上述文件路径中的方括号内放置的任何内容都需要根据您的特定机器和 Python 版本进行更改。

            文件结构应如下所示:

            ~/
             |__site-packages/
                |__your_folder/
                    script.py
                    __init__.py
            

            将包含 script.py__init__.py 文件的文件夹移至 Anaconda 的 site-packages 子目录后,您将能够从您在计算机上运行的任何脚本导入它.

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2021-05-18
              • 1970-01-01
              • 1970-01-01
              • 2014-02-15
              • 2020-01-10
              • 1970-01-01
              • 2017-04-04
              • 2021-01-01
              相关资源
              最近更新 更多