如何使用和制作 Python 安装模块

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用和制作 Python 安装模块相关的知识,希望对你有一定的参考价值。

Python模块的安装方法:

1. 单文件模块:直接把文件拷贝到$python_dir/lib

2. 多文件模块,带setup.py:python setup.py install

3. egg文件,类似Java的jar:
1) 下载ez_setup.py,运行python ez_setup
2) easy_install *.egg

虽然Python的模块可以拷贝安装,但是一般情况下推荐制作一个安装包,即写一个setup.py文件来安装。

setup.py文件的使用:
% python setup.py build #编译
% python setup.py install #安装
% python setup.py sdist #制作分发包
% python setup.py bdist_wininst #制作windows下的分发包
% python setup.py bdist_rpm

setup.py文件的编写:
setup.py中主要执行一个 setup函数,该函数中大部分是描述性东西,最主要的是packages参数,列出所有的package,可以用自带的find_packages来动态获取package。所以setup.py文件的编写实际是很简单的。

简单的例子:

setup.py文件:
from setuptools import setup, find_packages
setup(
name="mytest",
version="0.10",
description="My test module",
author="Robin Hood",
url="http://www.csdn.net",
license="LGPL",
packages= find_packages(),
scripts=["scripts/test.py"],
)

mytest.py文件:
import sys
def get():
return sys.path

scripts/test.py文件:
import os
print os.environ.keys()

setup中的scripts表示将该文件放到 Python的Scripts目录下,可以直接用。OK,简单的安装成功,可以运行所列举的命令生成安装包,或者安装该python包。
参考技术A 一、方法1: 单文件模块
直接把文件拷贝到 $python_dir/Lib
二、方法2: 多文件模块,带setup.py
下载模块包,进行解压,进入模块文件夹,执行:
python setup.py install
三、 方法3:easy_install 方式
先下载ez_setup.py,运行python ez_setup 进行easy_install工具的安装,之后就可以使用easy_install进行安装package了。
easy_install packageName
easy_install package.egg本回答被提问者和网友采纳
参考技术B pyinstaller和py2exe都可以制作出可发布的版本。
你说的模块安装是不是做一个模块包?那应该用distutils

ROS catkin 工作区中的 Python 模块和子模块

【中文标题】ROS catkin 工作区中的 Python 模块和子模块【英文标题】:Python Modules and submodules in ROS catkin workspace 【发布时间】:2018-06-25 20:28:20 【问题描述】:

我正在尝试在 ROS 中运行 python 代码,它包含一个我必须 pip 安装的模块(不是为 ROS 制作的模块)。当我尝试在运行 roscore 的 catkin 工作区中运行代码时,它找不到我安装的模块并给我一个 ImportError。知道如何使用 rospy 在 ROS 上运行已经创建的模块吗?

【问题讨论】:

你试过像python filename.py一样直接运行吗?这可能会奏效。但是,实际上您必须在 CMakelists.txt 文件中包含该库。 @akshayk07 CMakeLists.txt 中无需提及 Python 模块。只要 Python 包安装正确,它应该可以使用,无需对 ROS 包进行任何额外配置。 @Priyal Gosar:可以在 ROS 包之外使用 Python 模块吗?例如。你能在交互式 Python 终端中导入它吗?正如我上面写的,应该不需要在 ROS 包中做任何特殊的事情。 把你的源代码和错误完全追溯。 【参考方案1】:

确保您可以找到该模块

这里有 3 个选项。它们都应该工作并且按照hackiness的顺序排列。

    您可以像 ros numpy tutorial 一样将模块添加到 package.xml。

    <build_depend>python-numpy</build_depend>    
    <run_depend>python-numpy</run_depend>
    

    在 .bashrc 中设置 $PTYHONPATH 环境变量:

    export PYTHONPATH=$PYTHONPATH:/path/to/your/package_or_module
    

    在你的python代码中导入模块之前注入一个路径:

    import sys
    sys.path.insert(0, "/path/to/your/package_or_module")
    

确保您正确运行程序

    在运行程序之前为您的 .bashrc 和 catkin 工作区提供资源。

    如果您尝试使用rosrun package_name filename.py,则需要确保该文件是可执行文件:

    chmod +x pythonfile.py
    

    并且python文件的顶部应该有代码:

    #!/usr/bin/env python
    

    考虑直接使用 python 来运行文件,就像提到的 akshayk07 一样

    python filename.py
    

【讨论】:

以上是关于如何使用和制作 Python 安装模块的主要内容,如果未能解决你的问题,请参考以下文章

怎么安装python模块,如何安装python模块,常用安装方式

python 制作蟒蛇模块安装包

使用python制作二维码

python 安装包制作

如何使用 distutils 安装 Python 扩展模块?

如何使用 pip 和 PyPI 安装 Python 模块单个文件?