我想知道如果我编写一个Python脚本在我的计算机上使用已安装的库(例如lxml)并且我想在另一台计算机上部署此脚本,我的选择是什么。
当然在其他机器上安装Python是给定的,但我是否还必须安装我在脚本中使用的所有库,或者我可以只使用* .pyc文件?
是否有任何选项可以为这类问题制作安装程序,将所有依赖项与相关脚本一起复制?
顺便说一下,我在谈论Windows机器。
编辑-------------------
在查看了你的答案后,我想我应该补充一下:
事情是....这个工作所需的库不会安静地使用pip或easy_install,因为它需要一个Windows安装程序(我在一些搜索后发现)或正在重建来自计算机的目标计算机(我正试图避免)。
我认为有一些方法可以将pyc文件或某些内容移植到另一台PC上,并且该工作站上的解释器不会要求其上的依赖项已经被转换为字节码。
如果无法做到这一点,是否有人可以向我展示制作Windows软件包安装程序的某种指南?
答案 0 :(得分:5)
您应该创建setup.py
以与setuptools一起使用。依赖关系应包含在字段install_requires
中。之后,如果使用easy_install
或pip
安装该软件包,则会自动下载并安装依赖项。
答案 1 :(得分:3)
您也可以使用distutils。基本setup.py
如下所示:
from distutils.core import setup
setup(
name='My App',
version='1.0',
# ... snip ...
install_requires=[
"somedependency >= 1.2.3"
],
)
有关distutils和setuptools之间的差异,请参阅this question。