python中如何使用pip安装自己的第三方模块 推荐
2016-11-08 10:00
1021 查看
系统:CentOS6.8 python版本:python3.5 文本编辑器:vim python中我们很多时候,需要将自己的py文件导入到python路径中,但是我们自己的文件自身并不在python默认的库文件路径下,这时候就需要我们自己将我们的py文件import进入了 下面示例怎么导入自己的第三方模块,我们首先需要自己创建一个.py文件,名字随意明名了,但是不要和python内部模块重命,内部模块路径在/usr/lib/python3.5/site-packages。要不然使用python提供的一些模块的方法时就悲剧了。 我们写代码看看一个列表是否是含有列表嵌套,如果有嵌套,就拆开输出,环境python3,命名为liname.py
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/30/054f88ece8217fe91a30abb545502bc0.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/30/383fb7d8a3ba56af03db14f838887606.png)
然后我们使用命令: python3 setup.py install 安装
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/30/3c51056d3e8bf13015a717228c367b0c.png)
然后我们再python3的交互式命令行下导入模块,输入一个列表,然后调用,会触发下列异常
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/30/5015019d9787fdd2bcda3563abc4424c.png)
这是因为我们的python的主程序中的代码模块与一个名为__main__的命名空间关联,将代码放在其单独的模块中时,python会自动创建与模块同名的命名空间。因此我们的模块中的代码会与一个名为liname的命名空间关联
我们刚进入到python的交互式命令行的时候是和__main__这个命名空间相关联的,我们想要使用liname这个空间的print_list方法时不能单纯的使用这个函数,而需要这样使用liname.print_list()这样子使用,比如:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/30/6037fef08a8b54710dd19a20fde50aee.png)
这样子就完全没有问题了。
如果我们自己本身写了一段很好的代码,想将它贡献出去,除了github外,我们可以放在pypi这个网站上,也就是我们使用pip或者easy_install这样的命令安装
我们先在PyPI网站上(http://pypi.python.org/),来注册我们的信息
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/30/2975dd65a1dc9d2282aabffe80382764.png)
注册完成后我们就开始向PyPI上传我们的代码,上传时我们要知道我们注册时的账号和密码,因为接下来会用到
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/30/17163a356a9412fbf825dcca77f5ee56.png)
因为我没什么好的代码贡献所以,后面的步骤略去,进行完了这些步骤,我们就可以上传了,
我们使用命令:python3 setup.py upload
至此我们自己写的代码就贡献给了PyPI社区,别人如果想要安装我们这个模块,就可以通过pip或者easy_install这种方式来安装我们的模块了
#!/usr/bin/env python3
def print_list(the_list): 传出一个列表参数 for item in the_list: 挨个遍历列表元素 if isinstance(item,list): 判断每个元素是否为列表 print_list(item) 调用自身做 else: print(item)我们想要将这个.py文件变成一个模块,我们可以使用Python包索引(Python Package Index,PyPI)这 样一个互联网中第三库的集中管理,我们首先创建一个目录,名字还是随意啊,比如就叫dog 在这个目录中创建一个名字为setup.py的文件,文件内容如下所示:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/30/054f88ece8217fe91a30abb545502bc0.png)
现在dog这个目录中已经包含了两个文件setup.py和lsname.py这个文件,我们在终端中输入命令: python3 setup.py sdist ,然后目录下会多出几个文件和目录,如图所示
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/30/383fb7d8a3ba56af03db14f838887606.png)
然后我们使用命令: python3 setup.py install 安装
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/30/3c51056d3e8bf13015a717228c367b0c.png)
然后我们再python3的交互式命令行下导入模块,输入一个列表,然后调用,会触发下列异常
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/30/5015019d9787fdd2bcda3563abc4424c.png)
这是因为我们的python的主程序中的代码模块与一个名为__main__的命名空间关联,将代码放在其单独的模块中时,python会自动创建与模块同名的命名空间。因此我们的模块中的代码会与一个名为liname的命名空间关联
我们刚进入到python的交互式命令行的时候是和__main__这个命名空间相关联的,我们想要使用liname这个空间的print_list方法时不能单纯的使用这个函数,而需要这样使用liname.print_list()这样子使用,比如:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/30/6037fef08a8b54710dd19a20fde50aee.png)
这样子就完全没有问题了。
如果我们自己本身写了一段很好的代码,想将它贡献出去,除了github外,我们可以放在pypi这个网站上,也就是我们使用pip或者easy_install这样的命令安装
我们先在PyPI网站上(http://pypi.python.org/),来注册我们的信息
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/30/2975dd65a1dc9d2282aabffe80382764.png)
注册完成后我们就开始向PyPI上传我们的代码,上传时我们要知道我们注册时的账号和密码,因为接下来会用到
![](https://oscdn.geek-share.com/Uploads/Images/Content/202011/30/17163a356a9412fbf825dcca77f5ee56.png)
因为我没什么好的代码贡献所以,后面的步骤略去,进行完了这些步骤,我们就可以上传了,
我们使用命令:python3 setup.py upload
至此我们自己写的代码就贡献给了PyPI社区,别人如果想要安装我们这个模块,就可以通过pip或者easy_install这种方式来安装我们的模块了
相关文章推荐
- Python中如何使用pip安装第三方库
- python 如何使用pip安装第三方软件
- 使用pip安装Python第三方模块
- python2.x与python3.x共存如何使用python的pip模块
- 在osx下如何运用pip安装python第三方库
- 【Python】[模块]使用模块,安装第三方模块
- python 使用 pip安装mysql-python模块
- Ubuntu下同时安装了python2版本和python3版本如何使用pip分别为P2和P3安装不同类库
- python使用pip安装模块的时候出现ascii错误
- windows下使用pip安装python模块lxml
- 转: Red Hat/Fedora Linux 上使用 yum 安装 python pip 模块
- Red Hat/Fedora Linux 上使用 yum 安装 python pip 模块
- 如何使用和制作 Python 安装模块(setup.py)
- 如何使用和制作 Python 安装模块(setup.py)
- node.js 第三方模块如何安装(使用npm)及介绍
- 使用pip来安装和管理第三方Python包(library)
- ubuntu在使用pip安装python模块时的狗血错误
- Debian8下python3和python2同时安装如何使用pip
- python 如何安装第三方模块module
- 使用easy_install安装python第三方模块的方法