python - 从 Anaconda 的 site-package 文件夹中的文件夹导入包
问题描述
我完全是新手,所以请耐心等待;我对包所做的唯一一件事就是让 anaconda 为我安装 numpy,然后我将它(和其他一些)导入到脚本中。这是我第一次玩包本身。
目标:我有一堆 .py 脚本,我想将它们收集到一个包中;我想要我习惯的行为;我有一些 Python 程序,它们存在于我的计算机中的某个地方(无论有人选择保存项目的地方),而且不必担心路径(因为那是一罐我也不明白的蠕虫),我想输入 mypackage,“导入mypackage as mp”(就像 import numpy as np 一样),然后参加比赛。
请注意,我不知道 numpy 或任何适当的包的结构如何,所以这个类比可能会产生误导?但我想要的是导入跨多个 .py 脚本定义的函数,这些脚本都保存在一个文件夹中(为方便起见,我也将其称为 mypackage)。
我按照此视频中的示例编写了一个模块并将其放置在 anaconda3\Lib\site-packages\ 中,并且能够编写一个位于其他随机文件夹中的 python 程序,然后可以导入并运行该模块。
但是,同样,这仅允许我访问与单个 .py 脚本/模块对应的函数。我希望能够使用我的所有脚本/模块添加一个文件夹(我假设地址为 anaconda3\Lib\site-packages),然后能够导入与所有这些模块对应的包。
我尝试了一些解决方案,但还没有运气。我不太了解init .py 和path .py 脚本(具体来说,我不明白它们是否需要在 \site-packages\ 或 \site-packages\mypackage 中)。特别是,我遵循了这个解决方案,因为他把它拼出来了,但是我无法让 python 在 \site-packages\mypackage 中导入任何东西。
编辑:我按照此视频中的步骤操作,得到了我想要的结果。
但是,并非所有用于导入视频中的包的方法都适用于我。这是我能够在一个 python 脚本中成功使用的代码,例如,在我的桌面上,并且能够访问包,如下所示:
import mypackage.demo # mypackage is the folder, demo is the python script
mypackage.demo.demoprint() # demoprint() is the function defined in demo.py
> Now in the demo file!
del mypackage
from mypackage.demo import demoprint
demoprint()
> Now in the demo file!
del demoprint
import mypackage.demo as mp
mp.demoprint()
> Now in the demo file!
del mp
# Call subpackage functions
from mypackage.subpackage.subdemo import subdemoprint
subdemoprint()
> Now in the subdemo package and file!
del subdemoprint
from mypackage.subpackage import subdemo as sd
sd.subdemoprint()
> Now in the subdemo package and file!
del sd
解决方案
推荐阅读
- python - 每次用户答对问题时,如何提高分数?
- flutter - 检测 TextField 外部的点击以取消焦点
- scala - Scala Play:使用可选字段实现自定义 QueryStringBindable
- excel - 基于公式结果的条件格式
- excel - Excel条件格式色标公式
- python - 如何监视文件夹并在打开时执行操作?(例如:Python 看门狗)
- tensorflow - 创建自定义图层
- java - CORDA 错误验证两方之间的交易
- java - 在 Android Studio 中集成 HMS 时出错,未定义 SignInCenter
- r - 使用 ggplot 在网格中绘制两个 stat_function()