python 第三方包 source怎么导入

作者&投稿:大狐物 (若有异议请与网页底部的电邮联系)
python怎么导入自己写的包~

包(packages)其实也是模块,其类型Type也是module。通常引用自定义模块时有两种方法:
1)将两个文件放在同一目录下。
2)在sys.path下添加要引用的py文件的路径。然后import。
这样的做法,对于少数文件是可行的,但如果程序数目很多,层级很复杂时就比较麻烦了。此时用package就能将多个py文件组织起来,类似于第三方包一样的引用。要方便很多。

package的层次结构与程序所在目录的层次结构相同,且必须包含一个__init__.py的文件。__init__.py可以为空,只要它存在就表明此目录被作为一个package处理。

package1/
__init__.py
subPack1/
__init__.py
module_11.py
module_12.py
module_13.py
subPack2/
__init__.py
module_21.py
module_22.py
……

__init__.py可以为空,只要它存在,就表明此目录应被作为一个package处理。当然,__init__.py中也可以设置相应的内容。
好了,现在我们在module_11.py中定义一个函数:

def funA():
print "funcA in module_11"
return


一.引用模块
在顶层目录(也就是package1所在的目录,当然也参考上面的介绍,将package1放在解释器能够搜索到的地方)运行python:

>>>from package1.subPack1.module_11 import funcA
>>>funcA()
funcA in module_11

这样,我们就按照package的层次关系,正确调用了module_11中的函数。


二.使用通配符*,导入某个module中的所有元素
答案就在__init__.py中。我们在subPack1的__init__.py文件中写

__all__ = ['module_13', 'module_12']

然后进入python
>>>from package1.subPack1 import *
>>>module_11.funcA()
Traceback (most recent call last):
File "", line 1, in
ImportError: No module named module_11

也就是说,以*导入时,package内的module是受__init__.py限制的。

三.在package内部互相调用。
1.如果希望调用同一个package中的module,则直接import即可。也就是说,在module_12.py中,可以直接使用
import module_11

2.如果不在同一个package中,例如我们希望在module_21.py中调用module_11.py中的FuncA,则应该这样:
from module_11包名.module_11 import funcA

四.Python如何找到我们定义的module?
在标准包sys中path属性记录了Python的包路径。
import sys
print(sys.path)
通常我们可以将module的包路径放到环境变量PYTHONPATH中,该环境变量会自动添加到sys.path属性.
另一种方便的方法是编程中直接指定我们的module路径到sys.path 中。
常用的话也可以放在python27\lib\site-packages文件夹下。

第一种pip方式,现在python都带pip,直接pip install 包名就行了

第二种基本安装方法

1 下载第三方包,解压

2 在命令提示符里输入cmd,然后用cd进入到第三方包的路径下

3 输入Python setup.py build

4 输入python setup.py install
看到包内的文件在安装即可

我们知道,定义在环境变量PYTHONPATH里是可以直接用import导入的。下面我们来操作如何从非pythonpath目录导入第三方包或者自己定义的包。
假定我们的包有如下的目录结构:person 是最顶层的包,man、woman、child是子包
person\
__init__.py
person.py
man\
__init__.py
goodman.py
child\
__init__.py
lovelychild.py
woman\
__init__.py
goodwoman.py

首先,我们把包所在目录(c:\testpackage)加入到sys.path路径里
>>> import sys
>>> sys.path.append("c:\\testpackage")

注意:路径分隔符一定要写成”\\”的
1、用import方式 导入包,此种方式必须写全包的路径
>>> import person.person
>>> person.person.printperson()
person
>>> import person.man.goodman
>>> person.man.goodman.printman()
man
>>> import person.woman.goodwoman
>>> person.woman.goodwoman.printwoman()
woman
>>> import person.man.child.lovelychild
>>> person.man.child.lovelychild.printchild()
child

2、用from * import *方式导入包
>>> from person import person
>>> person.printperson()
person
>>> from person.man import goodman
>>> goodman.printman()
man
>>> from person.man.child import lovelychild
>>> lovelychild.printchild()
child
>>> from person.woman import goodwoman
>>> goodwoman.printwoman()
woman

也可以用以下方式:
>>> from person import *
>>> person.printperson()
person
>>> from person.man import *
>>> goodman.printman()
man
>>> from person.man.child import *
>>> lovelychild.printchild()
child

注意:这样的语句会导入哪些文件取决于操作系统的文件系统;所以我们在__init__.py 中加入 __all__ 变量;该变量包含执行这样的语句时应该导入的模块的名字;它由一个模块名字符串列表组成。


沈北新区17840434862: cygwin 怎么安装python -
空相氟强: 它好象是自带python,目前我一直在这个环境上工作,挺方便.特别是服务器全是linux的情况下,在cygwin下做程序测试和远程管理很方便.安装python,只需要在开发列表里,找到组件,如果左边没有提示,说明没有安装.如果有一个版本号...

沈北新区17840434862: python 第三方包 source怎么导入 -
空相氟强: 我们知道,定义在环境变量PYTHONPATH里是可以直接用import导入的.下面我们来操作如何从非pythonpath目录导入第三方包或者自己定义的包.假定我们的包有如下的目录结构:person 是最顶层的包,man、woman、child是子包 person\ _...

沈北新区17840434862: 在pycharm上怎么安装scrapy -
空相氟强: 首先呢,你肯定要安装好了pycharm了,然后就是利用伟大的pycharm的自动查找安装第三方包,pycharm可以帮你找到大多数的第三方包,不需要你自己去网上查找和下载了.他会自动查找符合你添加python解释器的第三方模块. 然后就要告诉你在哪里可以利用pycharm安装第三方的包了,首先打开pycharm的左上角的File然后找到setting的选项

沈北新区17840434862: 如何安装第三方python 包 -
空相氟强: 第一种pip方式,现在python都带pip,直接pip install 包名就行了 第二种基本安装方法1 下载第三方包,解压2 在命令提示符里输入cmd,然后用cd进入到第三方包的路径下3 输入Python setup.py build4 输入python setup.py install 看到包内的文件在安装即可

沈北新区17840434862: Python第三方库怎么安装 -
空相氟强: 假设你安装了python(如果未安装,则运行sudo apt-get install python-dev) 下面以安装PIL库为例 下载Imaging-1.1.7.tar.gz源码包2. cd Imaging-1.1.7/ python setup.py build sudo python setup.py install

沈北新区17840434862: 如何安装python的第三方模块 -
空相氟强: 方法1:下载源码,手动运行setup.py install去安装 下载对应的源码,往往都是.tar.gz,.zip的压缩包,解压后,打开windows的cmd,切换到对应目录,运行:setup.py install 即可去安装.方法2:利用第三方安装工具(如pip,easy_install,distribute等)去自动化安装 利用的目前常见的一些自动化安装工具,比如pip,easy_install,distribute等,自动帮你下载源码,并安装.而且很多时候,由于要安装的包,还要依赖一些其他的别的包,而这类自动化安装工具,会自动帮你解决依赖关系,自动帮你下载并安装所缺少的那些包,所以相对来说,就省去了你的麻烦了.

沈北新区17840434862: QGIS中怎么安装Python第三方库 -
空相氟强: 如果安装了QGIS,在所有程序中搜OSGeo4W Shell,以管理员身份打开,可以安装第三方库,以pysal为例$ py3_env.bat$ python3 -m pip install --upgrade pip$ python3 -m pip install pysal==1.14.3 --user QGIS,很多插件的安装都需要库的安装,在github上看插件的安装就可以

沈北新区17840434862: 如何验证python第三方包安装成功 -
空相氟强: python安装第三方模块有多种方法: 直接下载安装包安装,解压后,进入目录,直接python setup.py install 使用包管理器pip安装, 直接pip install 包名 如果解决了您的问题请采纳! 如果未解决请继续追问!

沈北新区17840434862: 下列关于pip的描述不正确的是() - 上学吧
空相氟强: 将依赖包目录放置到*:\Python*\Lib\site-packages\中,即python的安装目录中.首先确定API目录下是否有__init__.py文件,如果没有,请新建一个.打开API主运行文件,查看里面的类名称.此处为main.py文件,类为class dcVerCode.此处以导入main中的类dcVerCode为例.打开__init__.py,输入:from main import dcVerCode 这样就完成了依赖包的指定.然后再在程序中导入该包即可,此处的依赖包名称为qqcr(即目录名称),所以输入:import qqcr 即可完成包的导入.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网