我試圖在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. 在CentOS 5上安裝pyodbc
- 3. 在Fedora上安裝pyodbc-3.0.6時出錯
- 4. 在debian上安裝node.js。 ./configure安裝時找不到openSSL
- 5. 安裝Heroku Toolbelt時出錯:無法找到程序包heroku-toolbelt
- 6. 如何在macOS上安裝和查找ODBC頭文件sql.h和sqlext.h
- 7. 手動安裝pyodbc
- 8. sh:ffmpeg:在Heroku上找不到
- 9. 在heroku上安裝AWS CLI
- 10. 在Heroku上安裝Spynner
- 11. 在Heroku上安裝GeoIP
- 12. 在Heroku上安裝GEOS
- 13. 在Heroku上安裝node-curl
- 14. node-qrcode安裝在heroku上
- 15. 在Heroku上安裝devDependencies
- 16. 在Heroku上安裝freetds
- 17. 在heroku上安裝pdftohtml
- 18. 在Heroku上安裝FFMPEG
- 19. 在Heroku上安裝GeoDjango
- 20. 在Heroku上安裝PyV8
- 21. 不能在Raspbian上安裝Heroku CLI
- 22. Encode :: HanExtra無法安裝在Heroku上(enc2xs未找到)
- 23. 在Mac上安裝Android,找不到SDK
- 24. 在pip jnius安裝上找不到JRE_HOME
- 25. resharper8在安裝時找不到vs2012
- 26. 在python 3.3上使用pip和easy_install安裝pyodbc 3.0.10時出錯
- 27. 安裝在Heroku
- 28. 在windows上安裝pyodbc for Python 3.3(不能使用pip)?
- 29. 在安裝scipy時在MKL機器上找不到BLAS
- 30. 將django-avatar安裝到heroku上
您是否曾經在Heroku上使用過這個版本? – cph
@cph這個項目目前在Heroku上有這樣的設置https://github.com/bmwant/pr-review-notifier –