Python 3.x 使用requirements.txt和Heroku时,找不到pickle的匹配发行版

Python 3.x 使用requirements.txt和Heroku时,找不到pickle的匹配发行版,python-3.x,heroku,Python 3.x,Heroku,我正在使用Heroku尝试部署我的应用程序。在连接到我的Github repo之后,在“手动部署”下,我点击“部署分支” Github repo包含requirements.txt,其中包含 numpy pandas matplotlib pickle gunicorn flask Heroku说的错误 Collecting pickle (from -r /tmp/build_0f73c7cf93d0cf7e0d53415c51d2e21f/requirements.txt (line

我正在使用Heroku尝试部署我的应用程序。在连接到我的Github repo之后,在“手动部署”下,我点击“部署分支”

Github repo包含
requirements.txt
,其中包含

numpy
pandas
matplotlib
pickle
gunicorn
flask
Heroku说的错误

   Collecting pickle (from -r /tmp/build_0f73c7cf93d0cf7e0d53415c51d2e21f/requirements.txt (line 4))

     Could not find a version that satisfies the requirement pickle (from -r /tmp/build_0f73c7cf93d0cf7e0d53415c51d2e21f/requirements.txt (line 4)) (from versions: )

   No matching distribution found for pickle (from -r /tmp/build_0f73c7cf93d0cf7e0d53415c51d2e21f/requirements.txt (line 4))



!     Push rejected, failed to compile Python app.

 !     Push failed
然而,
pickle
似乎安装在我的Ubuntu机器上。当我在终端上键入
python
,然后导入pickle时,我没有看到任何错误

还有,当我尝试

filename = 'outfile.pickle'
outfile = open(filename,'wb')
pickle.dump(dataframe,outfile)
outfile.close()
我在我的目录中看到了pickle文件


为什么我会在Heroku中出现这个错误?

直接的问题是。无需安装它(因此无需将其包含在
requirements.txt
文件中)

通常,最好从生产中使用的同一依赖项文件本地安装依赖项。这将发现这样的问题,你有一个不应该出现的条目

然而,您可能不应该在Heroku上运行此代码,即使您可以构建它。Heroku的文件系统。下次dyno重新启动时,您保存的文件将丢失。这种情况经常发生

您可以将数据保存在客户机-服务器数据库中,例如,或者如果确实需要保存文件