我需要打包一个用Python编写的应用程序。
- 我不能使用PyInstaller,因为我没有.exe或类似的东西,我需要执行纯python脚本(我的代码中有Popen调用我的一些脚本并传递参数);
- 我需要它跨平台工作(我知道这样做是因为我在Linux上生成的软件包无法在Mac上运行,反之亦然,我需要在每个系统中生成该软件包);
由于我不能真正打包它,所以我的想法是要有一个名为模块的文件夹,并在其中包含所有依赖项,然后,在我的代码中,我只需将导入指向该文件夹即可。我会压缩整个项目并交付它,用户只需解压缩并运行它。
问题是:
- 如何不仅将程序包下载到特定文件夹中,又如何在其中安装? (我不能更改用户的环境,这是必须的);
- 如何将导入导入到此本地文件夹?例如,我想我可以做类似
import modules.numpy
的事情,但是numpy有它自己的依赖性...如何确保它可以进入我的自定义文件夹?
我的情况:
- 我对我的项目有一个requirements.txt;我在项目中使用了几个本地文件。我有一个Popen,它调用了我的file.py之一;我正在使用Python3;
- 我无法使用virtualenv,因为我正在使用wxPython,并且它与virtualenv之间存在冲突(不知道为什么-与主线程相关的内容...)