我正在尝试将我的应用程序推送到Heroku。最近,我在requirements.txt
中添加了所有必需的软件包,但是在进入我的Heroku帐户时遇到了问题。我的理解是,当服务器尝试远程安装我的软件包时,它正在寻找错误的目录。
这是问题的图像:
我所有的软件包都已安装在/opt/ros/kinetic/lib/python2.7/dist-packages
目录中。
如何修改requirements.txt
以在该目录中查找?我是Heroku的新用户,并且在这个问题上停留了很多时间。
答案 0 :(得分:0)
我所有的软件包都已安装在
/opt/ros/kinetic/lib/python2.7/dist-packages
目录中。
这无关紧要。请注意,/tmp/build_foo/
目录Heroku引用是Heroku构建环境的本地目录,而不是您的计算机。
git push
将不包括依赖项(除非您正在跟踪它们,否则可能不应该这样做),并且Heroku无法使用它们。即使可以,也可能不会,因为不能保证您的软件包将与Heroku二进制兼容(例如,基于您的操作系统或CPU架构与Heroku的差异)。
您的所有依赖项都应在requirements.txt
中列出,Heroku会尝试自行安装它们。通过PyPI提供的依赖关系应该可以立即使用,但是如果您使用其他来源的任何东西,则可能需要更具体。
请注意,如果您的requirements.txt
无法在干净的环境中为您的应用程序解决完整的依赖关系集,那可能是不正确的。该文件的全部目的是定义依赖关系,而不必携带每个库的副本。
我怀疑您应该在actionlib
文件中包含roslibpy
,而不是requirements.txt
。