我想使用python setup.py install
将Spyder安装到/AppDir/usr
(即,这是我指定给python setup.py install
的{/AppDir
目录,Spyder的这个安装也能正常工作。目前情况并非如此,当我cd到移动的/AppDir/usr/bin
(它不再位于/AppDir/usr/bin
,而是位于~/GitHub/mine/packaging/AppImages/recipes/spyder/AppDir/usr/bin
,因为我移动了它)目录并运行./spyder
时,我得到了错误:
zsh: ./spyder: bad interpreter: /AppDir/usr/bin/python: no such file or directory
为了使Spyder的这个安装变得可移植,我相信我需要Spyder在/AppDir/usr
中安装的文件调用相对文件路径,而不是绝对文件路径(因此,不是调用解释器/AppDir/usr/bin/python
,而是调用./python
)。有办法吗?在
编辑:我计划从这个AppDir创建一个AppImage(一个跨分发包格式),这样符号链接就不起作用了!因为这个AppImage是由其他人下载并由其他本地解决方案使用的(例如,通过修改我的本地系统,比如我的~/.zshrc
文件)将无法运行!在
从
./spyder
中的shebang获取结果的错误。Shebangs must use absolute paths,因此当您使用解释器移动文件夹时,它无法自动更改。事实上,Filesystem Hierarchy Standard背后的想法就是让逻辑文件位置保持不变和可预测,而不管它们的物理位置如何(特别是对于Python,例如.pyc
文件内部有绝对路径,因此一旦安装被移动,它们可能必须重新生成)。在最简单的方法是在使用特定Python安装的所有脚本中手动搜索并替换shebang。其他选项见linux - How / Is it possible to install python in a portable way? - Unix & Linux Stack Exchange和Creating a Portable Python (local install) for Linux。在
相关问题 更多 >
编程相关推荐