我试图在Heroku上安装PyODBC,但是在pip运行时我在日志中获得fatal error: sql.h: No such file or directory
。我如何解决这个错误?在Heroku上安装PyODBC时找不到sql.h
回答
您需要unixODBC devel软件包。我不知道你在使用什么发行版,但你可以谷歌它和从源代码构建。
要跟进下面的答案...
例为Ubuntu:
sudo apt-get install unixodbc unixodbc-dev
为CentOS实例:
sudo yum install unixODBC-devel
在Windows上:
conn = pyodbc.connect('DRIVER={SQL Server};SERVER=yourserver.yourcompany.com;DATABASE=yourdb;UID=user;PWD=password')
在Linux上:
conn = pyodbc.connect('DRIVER={FreeTDS};SERVER=yourserver.yourcompany.com;PORT=1433;DATABASE=yourdb;UID=user;PWD=password;TDS_VERSION=7.2')
嗨Flipper!感谢命令。我正在使用Git Bash for windows。你能建议我如何做到这一点。还有一件事是我可以在我的系统中本地安装pyodbc包。但是,当heroku服务器试图在服务器端安装相同的包时,我收到此错误。 –
没问题!那么,您在Heroku上使用Windows进行开发和Linux生产?这可能会变得棘手(圣杯是让您的开发和生产环境尽可能相同)。首先,我会建议绝对使用virtualenv,然后在Windows/dev上使用pyodbc与SQL Server驱动程序,以及在Linux/prod Heroku上使用FreeTDS/unixODBC。我会修改上面的示例。 – FlipperPA
非常感谢!我要试试这个。 –
其他答案或多或少是正确的;您错过了适用于您的操作系统的unixodbc-dev[el]
软件包;这就是pip
需要从源码构建pyodbc
。
但是,更简单的选择是通过系统软件包管理器安装pyodbc
。例如,在Debian/Ubuntu上,那将是apt-get install python-pyodbc
。由于pyodbc
与UnixODBC操作系统级别的软件包有很多编译的组件和接口,因此它可能更适合系统软件包,而不是Python/pip安装的软件包。
如果您正在编写分发代码,您仍然可以在您的requirements.txt
文件中将其列为依赖项,但通过系统PM安装它通常会更容易。
从操作系统存储库安装pyodbc的唯一问题是它们往往是pyodbc的*非常旧的*版本。 IIRC的Ubuntu储存库安装v3.0.7,而我写的这个当前稳定版本是v4.0.21,4.x在处理Unicode时比3.x好得多。 –
您可以添加的Heroku构建包预安装所需的第一
heroku buildpacks:add --index 1 https://github.com/heroku/heroku-buildpack-apt
在你的根目录添加Aptfile
和仓库以及
unixodbc
unixodbc-dev
python-pyodbc
libsqliteodbc
它将安装你需要的一切贴切包在Heroku上使用pyodbc
或aioodbc
包来自python
- 1. PIP安装pyodbc找不到版本
- 2. 在Fedora上安装pyodbc-3.0.6时出错
- 3. 手动安装pyodbc
- 4. 在Heroku上安装GeoDjango
- 5. node-qrcode安装在heroku上
- 6. 在heroku上安装pdftohtml
- 7. 在Heroku上安装GEOS
- 8. 在Heroku上安装PyV8
- 9. 不能在Raspbian上安装Heroku CLI
- 10. Encode :: HanExtra无法安装在Heroku上(enc2xs未找到)
- 11. 在pip jnius安装上找不到JRE_HOME
- 12. 在Mac上安装Android,找不到SDK
- 13. 安装在Heroku
- 14. 在python 3.3上使用pip和easy_install安装pyodbc 3.0.10时出错
- 15. 在windows上安装pyodbc for Python 3.3(不能使用pip)?
- 16. 将django-avatar安装到heroku上
- 17. pyodbc和RODBC安装问题
- 18. 使用pip安装UnicodeDecodeerror pyodbc
- 19. 雪豹PyODBC - 安装错误
- 20. 使用pip安装PyODBC
- 21. 在ubuntu 10.04上安装execjs后找不到Javascript运行时
- 22. 在PHP 7.0.13上安装mysqlnd时找不到OpenSSL的<evp.h>
- 23. Magento安装问题(找不到安装)
- 24. “试图安装psycopg2时找不到-lpq”
- 25. 安装caffe时找不到lopencv_core
- 26. 安装.NET Framework 4时找不到System.ComponentModel.Composition
- 27. 在Mac上安装Py3cairo通过酿造,但Pygobject3说“pycairo”上找不到安装
- 28. 在heroku上找不到Cakephp类'DebugBarFilter'
- 29. 在节点heroku项目上安装gems
- 30. XML :: LibXSLT无法在Heroku上安装
您是否曾经在Heroku上使用过这个版本? – cph
@cph这个项目目前在Heroku上有这样的设置https://github.com/bmwant/pr-review-notifier –