找不到满足要求的版本actionlib == 1.11.13

时间:2019-04-27 21:19:36

标签: python heroku terminal push requirements.txt

我正在尝试将我的应用程序推送到Heroku。最近,我在requirements.txt中添加了所有必需的软件包,但是在进入我的Heroku帐户时遇到了问题。我的理解是,当服务器尝试远程安装我的软件包时,它正在寻找错误的目录。 这是问题的图像:

enter image description here

我所有的软件包都已安装在/opt/ros/kinetic/lib/python2.7/dist-packages目录中。

如何修改requirements.txt以在该目录中查找?我是Heroku的新用户,并且在这个问题上停留了很多时间。

1 个答案:

答案 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