精华内容
下载资源
问答
  • python 自定义包的导入失败

    千次阅读 2019-02-18 14:34:15
    检查我自定义的包与程序都在合适的位置,但是死活就是无法导入,最后...__init__.py可以是空文件,也可以有Python代码,因为__init__.py本身就是一个模块,而它的模块名就是对应包的名字。调用包就是执行包下的__ini...

    检查我自定义的包与程序都在合适的位置,但是死活就是无法导入,最后才知道问题出在哪里?

    每一个包目录下面都会有一个__init__.py的文件,这个文件是必须存在的,否则,Python就把这个目录当成普通目录(文件夹),而不是一个包。__init__.py可以是空文件,也可以有Python代码,因为__init__.py本身就是一个模块,而它的模块名就是对应包的名字。调用包就是执行包下的__init__.py文件。

    解决办法:

        在包的下面touch __init__.py 

    展开全文
  • python自定义包导入

    2015-08-17 14:16:14
    所谓的包实质上是一个文件夹,在文件夹中包含.py文件和一个__init__ .py 文件(可以是空白),我认为可以把 __init__.py文件理解为包的“初始化”。如果没有这个文件,很多python的ide会认为这是个普通的文件夹而...

    在python项目中经常需要自己定义一个包(package)来进行代码分离,提高可读性。

    所谓的包实质上是一个文件夹,在文件夹中包含.py文件和一个__init__ .py 文件(可以是空白),我认为可以把 __init__.py文件理解为包的“初始化”。如果没有这个文件,很多python的ide会认为这是个普通的文件夹而不是一个python包。

    接下来就是基本讲解
    假设文件目录如下

    -b.py
    -/package
         - __init__.py
         - a.py

    下面是代码例子

    当__init__.py为空白时

    a.py

    print "csdn blog" 

    __init__.py空白
    b.py

    import package
    import package.a
    example = package.a
    print example

    注意:如果在import package后面没有再import package.a,然后在下面直接用package包里面的a模块时会报错:
    AttributeError: 'module' object has no attribute 'a'

    或者

    from package import a
    example = package.a
    print example

    运行结果:

    csdn blog

    当__init__.py不空白时

    __init__.py

    import a

    a.py和上面相同
    b.py

    import package
    example = package.a
    print example

    此时运行正常(对比上面__init__.py空白时运行出错的例子)

    要实现

    from package import *

    需要在__ init__.py文件中配置一个__all__列表
    __init__.py

    __all__=["a"]

    b.py

    from package import *
    example = package.a
    print example

    运行正常,输出csdn blog
    当你有多个模块时,__all__就很有用了,可以在__all__列表中继续添加。

    展开全文
  • 今天在恶补python基础知识,发现我对,库,模块定义非常模糊,于是我回头看了一下基础知识,也是一时兴起想让跟我一样一开始有些困惑人避坑! 什么是? 要想知道什么是,得先了解一下模块概念! 知道了...
  • 导入自定义包lsqlin,将包放在Anaconda安装目录下~/opt/Anaconda3/anaconda/lib/python3.5/site-packages,使用以下命令导入包: from lsqlin import * 调用函数时报错: 'lsqlin' is not defined. 说明包未成功...

    问题描述

    导入自定义包lsqlin,将包放在Anaconda安装目录下~/opt/Anaconda3/anaconda/lib/python3.5/site-packages,使用以下命令导入包:

    from lsqlin import *
    

    调用函数时报错:

    'lsqlin' is not defined.
    

    说明包未成功导入。

    解决办法

    之前lsqlin包中的__init.py__是一个空文件,后来在文件中加入:

    __all__=['lsqlin']
    

    再重新导入包,代码运行成功。

    展开全文
  • Python自定义包在linux服务器导入错误解决办法 在本地机器上跑python代码,自己定义文件进行导包运行是没有问题,但是放到linux服务器上时候就会提示 ImportError:No module named xxxx(要...

    Python自定义包在linux服务器导入错误的解决办法

    在本地机器上跑python代码,自己定义的文件进行导包运行是没有问题,但是放到linux服务器上的时候就会提示 ImportError:No module named xxxx(要导入的文件包名)

    在python导包的时候有三条铁规:

    1.      严格区分包和文件夹。包的定义就是包含__init__.py的文件夹。如果没有__init__.py,那么就是普通的文件夹。

     

    2.      导入package。  在python 安装目录的site-package文件夹中新建xxx.pth,内容是需要导入的package所在的文件夹路径。

    3.      导入模块。就是一般的模块导入写法,注意只要包路径,不要文件夹路径。

     

    解决办法:

    1.找到你的python安装路径,我的是在 /home/jianping/env/lib/python2.7

    2.进入python安装路径的site-packages下。即: /home/jianping/env/lib/python2.7/site-packages

    3.创建一个后缀为.pth的文件:touch xxx.pth

    4.编辑该pth文件:vi xxx.pth

    5.将你要导入的包的绝对路径写入到xxx.pth文件中。(注意:一定要是绝对路径,并且要导入的包需要有__init__.py文件)

     

    例如:

    /home/jianping/work/package(package是要导入的包)

     

     

    事例二:

    通过sys.path.append('要导入的路径')解决 

    import sys,os
    print os.path
    sys.path.append('/home/jianping/work/judgements_list/pro_judgements/conf/cfg')

    from hub import CFG
    posted @ 2018-06-29 14:48 python许三多 阅读(...) 评论(...) 编辑 收藏
    展开全文
  • moduledir='这里填模块或包的目录' sys.path.append(moduledir) #设置工作目录 import os workdir='这里填工作区目录' os.chdir(workdir) #把自定义模块的路径直接加入环境变量 import sys moduledir=wor....
  • 如图所示,对于python,有一个自定义包parent,它里面还有一个子包child,当你在parent.module1中import child.module2时,vscode会给你报错,说找不到这个包。 当你单独运行module1.py时候,可以正常运行,但是当...
  • 文章目录 1.自定义包 1.1.... __init__.py 1.2.... 1.3.... 2.导入(自定义)包的3种方法 ...Python自定义包及3种包导入方式 1.自定义包 包就是一个至少包含__init__.py文件的文件夹,这个文件是必
  • python自定义包的导入和使用

    万次阅读 2014-03-25 11:39:58
    (packages)其实也是模块,其类型Type也是module。通常引用自定义模块时有两种方法: 1)将两个文件放在同一目录下。 2)在sys.path下添加要引用py文件路径。然后import。 这样做法,对于少数文件是可行...
  • python自定义包或模块在Linux服务器导入错误解决办法 在本地机器上跑python代码,自己定义文件进行导包运行是没有问题,但是放到linux服务器上时候就会提示 ImportError:No module named xxxx(要导入的文件...
  • python 自定义的模块和导入包

    千次阅读 2017-05-05 11:56:44
    1.简介 2.创建一个 1.简介 1.模块:即一个 .py 文件(python 源代码) 2. :模块由 装着,可调用包中模块函数 2.创建一个
  • 解决 cmd 导入自定义包 报错 # 获取 路径 file_path = os.path.dirname(os.path.abspath(__file__)) # 修改运行路径 sys.path.append(file_path) sys.path.insert(0, os.path.dirname(file_path)) # 0 表示优先级...
  • python 自定义包的调用

    千次阅读 2018-10-10 20:38:55
    包的时候首先会执行__init__.py文件。 下面进行举例说明: 1. 以文件夹的方式导入   从上图,可以看出TestInitPackage、subdir1、Testdir均为文件夹, subdir2为package。 myfunction1....
  • 1) python2自定义包导入 首先在任意路径创建一个文件夹,来放我们自定义的包的文件。 我的是创建在/home/xyh/test_package,下边是我的目录结构。要在另一个不相关的文件夹下的python应用中引用到我们自定义的包...
  • python 自定义 模块 打包 安装

    千次阅读 2016-05-20 17:44:20
    (1)把自定义模块路径,导入sys.path,可以在任何地方直接导入自定义模块。...(2)导入自定义包模块 包导入路径内每个目录内都必须有__init__.py文件,__init__.py可包含python代码,但通常为空,
  • python导入自定义包

    2020-08-10 19:39:32
    包的定义就是包含__init__.py的文件夹。如果没有__init__.py,那么就是普通的文件夹。 2. 导入package。 在python 安装目录的site-package文件夹中新建xxx.pth,内容是需要导入的package所在的文件夹路径。 3. 导入...
  • Python 自定义模块导入

    2020-06-18 11:17:21
    首先目录下有__init__.py 文件, 然后将封装整个直接导入python Lib 下 site-packages中
  • 最近在写Python 代码过程中,按照Java 大法习惯,不同业务写到不同软件包目录中,然后在IDE 中设置要加载目录路径,然后在待导入的软件包中引入即可;但是到了Python 中,这种写法我嚓嘞,不行; 找了找...
  • Python模块是一个Python文件,以.py结尾,包括了...自定义模块可以采用import语句来进行引入,其操作步骤是先导入模块,再调用模块中包含函数,可将自定义模块放入当前目录,便于解释器路径搜索,以下是导入自定义...
  • [Python]自定义包及3种包导入方式

    千次阅读 2019-03-09 17:33:09
    原创文章,欢迎转载。转载请注明:转载自 祥博客 原文链接: 文章目录@[toc]1.自定义包1.1. parent 目录中文件__init__.py1.2. pack 目录中文件__init__.pymod....Python自定义包及3种包导入方式 1.自定义包 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 797
精华内容 318
关键字:

python自定义包的导入

python 订阅