如何使用和制作 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模块,常用安装方式