2012-01-25 83 views
4

最近我對Heroku進行了大量的閱讀,我正在考慮轉向它。我想我會嘗試一下他們的小教程,並稍微玩一下。在Windows 7上使用PIP,virtualenv,psycopg2,Django的Heroku教程

好的。認罪的時間。雖然我安裝了virtualenv,但我並沒有真正使用它。我不是一個經常在不同項目之間切換的人(例如我需要做一個承包商)。我非常喜歡它的想法,但沒有那麼有經驗。我知道每個人都說這是最近的做法。

我遇到的問題是我無法使用pip來安裝psycopg2(這是本教程的一部分)。順便說一句,這是我想要做的一個鏈接(heroku article

所以,這對我來說不是一個新問題。我從來沒有能夠通過點子來安裝。我總是得到這個問題

Unable to find vcvarsall.bat

我在Windows機器上解決它的方式是隻下載預構建庫。如果有人有興趣並且不知道,你可以找到這些here!順便說一句,謝謝Christoph Gohlke維護這些!

如果您搜索此vcvarsall.bat錯誤,您將在Stackoverflow上找到它的幾個帖子。他們中沒有人幫助過我。我原本試圖去MingGW路線。經過2個晚上的努力(我想我嘗試了所有我能找到的建議)後,我放棄了嘗試(就在我將PC扔出窗外繼續進行小貓廝殺之前)。所以,我嘗試了另一條人們建議的路線 - 那就是從微軟下載VC++ 2008 Express版本。顯然,Windows for Python使用VC++ 2008構建,對於某些人來說,這比使用MinGW更容易。這似乎對我來說效果更好,因爲我至少可以通過點來安裝它。但是,當我嘗試導入時,我遇到了另一個人們似乎都有的共同問題(至少當你谷歌的時候你會得到點擊)。

File "C:\foo\bar\venv\lib\site-packages\psycopg2__init __.py", line 67, in from psycopg2._psycopg import BINARY, NUMBER, STRING, DATETIME, ROWID ImportError: DLL load failed: The operating system cannot run %1.

經過一番研究,好像這是與編譯_psycopg.pyd文件試圖libpq.dll鏈接的問題。該文件位於C:\ Program Files文件(x86)\ PostgreSQL \ 9.1 \ bin \中 - 並且位於我的路徑中。

那麼,有沒有人知道如何解決這個問題?或者有沒有辦法讓pip使用已經在我的站點包中成功安裝的pyscopg2(通過預編譯的庫)?注意:如果我只是將預先構建的psycopg2軟件包複製到虛擬環境的站點包中,我可以讓問題消失。它會導入罰款。但是,如果您對heroku的要求進行pip凍結,則不在此處。有沒有辦法在這個上僞造heroku?

環境是:Windows 7中(64位),Python的2.6.5,1.3.1 Django的,virtualenv中1.6.4和PostgreSQL 9.1,PIP 1.0.2

回答

2

我有同樣的一套經驗。

我注意到,當我嘗試在舊應用程序上登錄manage.py runserver時,它在virtualenv中不起作用。當我運行python.exe manage.py runserver時,它在virtualenv中工作。

不幸的是,這個技巧似乎並不適用於django-admin.py。我得到的錯誤: python.exe: can't open file 'django-admin.py' [Errno 2] No such file or directory

但是,當我啓動一個python解釋器和導入django,它工作得很好。

不知道這是否有幫助,但認爲這是值得一試。

1

我和你有同樣的確切問題,並一直試圖解決問題。

後使用Visual Basic 2008來解決我的「無法找到vcvarsall.bat」錯誤

我安裝的PostgreSQL(無需從StackBuilder任何加載)和Heroku的最後讓我來部署沒有問題我Django應用程序。 安裝PostgreSQL是部署Django應用程序的先決條件(通常不會看到,但它位於同一頁面的頂部)!

希望這有助於您的未來用戶解決您可能遇到的任何類似問題。

0

我已經遇到了你所說的所有問題,並且我正在努力保留日誌,以便我稍後可以跳過它來撰寫博客文章。我認爲你看到的最新錯誤可以通過簡單地將Postgres bin目錄添加到你的Windows Path環境變量來解決。

+1

我敢肯定,這將被人們理解未來。我需要發佈我最終做的解決它。 (這基本上是放棄了)。 –

0

確保:

你distutils.cfg點MinGW的
您已經安裝了32位的PostgreSQL如果你上libpq.dll LD錯誤

相關問題