我已经开始使用Python自动执行我在工作中的重复性任务,并且经常需要将对第三方模块的引用集成到我的脚本中。如何直接在脚本中包含这些文件?我知道有一些方法可以在我的python安装文件夹(C:\ Python27)中集中安装库。许多第三方模块提供了一个自动执行此操作的EXE安装程序。但是,我担心这将如何影响我的脚本的可移植性。例如,如果我将脚本发送给其他人,我不想再向他们发送他们需要下载和安装的所有单独模块的列表。
更新
我在Visual Studio中有很多C#项目的经验。在Visual Studio项目中,如果我想使用第三方DLL,我只需在我的解决方案中将该DLL包含在Lib文件夹中,并从我的项目中引用该DLL。我不打扰将该库加载到GAC中,对我而言,这似乎与.NET相当于安装python包。
有没有什么方法可以在我的项目文件夹中包含第三方库并使用相对路径引用它们?假设我有以下文件结构。
\My Script.py
\lib\3rdPartyLib\3rdPartyLib.py
我可以从MyScript.py导入3rdPartyLib吗?
import 3rdPartyLib from \lib\3rdPartyLib\ ??????
为什么我不想这样做?
答案 0 :(得分:1)
<强>更新强>
是的,您可以将第三方模块复制到您的应用程序文件夹中。虽然使用site-packages文件夹允许集中的每台机器更新,但如果您不经常更改库,则可能更容易将它们包含在您描述的应用程序文件夹中。
如果可能,将应用程序文件夹放在网络驱动器上将简化网络范围内的更新。
您需要使用py2exe或pyinstaller。
它将构建一个充满依赖项和Windows .exe的文件夹。您还可以包含图标和其他元数据。将它包裹在免费的安装程序中,例如innoSetup,您将拥有专业的应用程序。
答案 1 :(得分:-1)
你可以使用py2exe或pyinstaller,或者你可以在脚本启动时引用你的模块将它们打包成一个存档,让你的程序可以在不同的操作系统上移植! 但是,嘿,我看到你只使用窗户!什么让便携性的想法在你的思想中持续...