【问题标题】:How to import custom module in python如何在python中导入自定义模块
【发布时间】:2021-12-29 11:35:50
【问题描述】:

我想在任何目录的任何脚本中导入我自定义编写的函数,就像我在任何脚本中导入请求模块一样。我正在运行 Ubuntu 和 Python 3.9

编辑: 我按照本教程满足了我的要求 - https://packaging.python.org/tutorials/packaging-projects/

【问题讨论】:

  • 将您的自定义模块放在主脚本的同一目录中,然后执行以下操作:from your_module import *(函数名称)
  • 我想您是指将脚本放在同一目录中。有没有办法将脚本放在系统目录中,这样我就不需要将文件放在同一目录中
  • 是的,你可以这样做:import sys sys.path.append('/path/to/application/app/folder') from module import function_names - 就像@Ulises Bussi 所说的那样。

标签: python python-3.x module


【解决方案1】:

您可以制作一个简单的自定义函数包,然后使用 pip 将包安装到本地系统中。在此之后,您将能够从任何脚本中导入函数。

# for example
pip install .

# or if you need to edit your functions install in editable mode
pip install -e .

注意:点 '.'以上表明您的 setup.py 位于当前工作目录中。您还可以为您的包提供 setup.py 的路径而不是点。 创建包参考:How to write a Python module/package?


【讨论】:

  • 这是我一直要求的。感谢您的解决方案
【解决方案2】:

你可以将文件夹添加到python路径,或者导入sys,添加路径到这个会话,然后导入

import sys
sys.path.append(Path_to_module)
import module

import sys
sys.path.append(Path_to_module)
from module import function_names

【讨论】:

  • 感谢您提供的信息。我可以知道 pip install 是如何工作的。该过程如何在我的默认 python 路径中安装模块
  • 我不确定我是否会正确回答这个问题,因为我没有其中的结构,但我认为它将模块安装在你的 python 路径中包含的特定文件夹中。在我的情况下,我在 linux 中使用 conda 环境,所以路径类似于/home/user/anaconda3/envs/my_environment/lib/python3.8/site-packages 所以技术上如果你在那里添加你的库,你可以导入它,但我认为这样做不是一个好主意。您可以将您的库路径永久添加到 pythonpath。你的操作系统是什么?
【解决方案3】:

鉴于your_function 在您当前代码的同一目录中的your_script.py 中,您可以在您的代码上写:

 from your_script import your_function

【讨论】:

  • 我想您是指将脚本放在同一目录中。有没有办法将脚本放在系统目录中,这样我就不需要将文件放在同一目录中
猜你喜欢
  • 1970-01-01
  • 2018-03-24
  • 2021-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多