【发布时间】:2012-02-19 04:34:06
【问题描述】:
我最近读了很多关于 Heroku 的文章,我正在考虑转向它。我想我会尝试一下他们的小教程并尝试一下。
好的。是时候表白了。虽然我安装了 virtualenv,但我并没有真正使用它。我不是一个必须经常在不同项目之间切换的人(例如我需要做的承包商)。我真的很喜欢它的想法,但只是没有那么有经验。我知道每个人都说这是这些天的最佳做法。
我遇到的问题是我无法让 pip 安装 psycopg2(这是教程的一部分)。顺便说一句,这是我正在尝试做的事情的链接 (heroku article)
所以,这对我来说不是一个新问题。我从来没有能够通过 pip 安装东西。我总是遇到问题
找不到 vcvarsall.bat
我过去在 Windows 机器上解决它的方法是下载预构建库。有兴趣不知道的可以找这些here!顺便说一句,感谢 Christoph Gohlke 维护这些!!!!
如果你搜索这个 vcvarsall.bat 错误,你会在 Stackoverflow 上找到几篇关于它的帖子。他们都没有帮助我。我最初尝试走 MingGW 路线。经过两个晚上的努力(我想我尝试了我能找到的每一个建议),我放弃了尝试(就在我把我的电脑扔出窗外并开始杀猫狂暴之前)。所以,我尝试了人们建议的另一条路线——从微软下载 VC++ 2008 Express 版本。显然,Windows 的 Python 是使用 VC++ 2008 构建的,对于某些人来说,这比使用 MinGW 更容易。这似乎对我来说效果更好,因为我至少可以让 pip 安装它。但是,当我尝试导入时,我遇到了人们似乎遇到的另一个常见问题(至少当你用谷歌搜索时你会得到点击)。
文件“C:\foo\bar\venv\lib\site-packages\psycopg2__init __.py”,第 67 行,在 从 psycopg2._psycopg 导入 BINARY、NUMBER、STRING、DATETIME、ROWID ImportError:DLL 加载失败:操作系统无法运行 %1。
经过一番研究,这似乎是编译后的 _psycopg.pyd 文件试图链接到 libpq.dll 中的问题。该文件位于 C:\Program Files (x86)\PostgreSQL\9.1\bin\ - 并且在我的路径中。
那么,有谁知道如何解决这个问题?或者有没有办法让 pip 使用我的站点包中已经成功安装(通过预建库)的 pyscopg2?注意:如果我只是将预构建的 psycopg2 包复制到虚拟环境的站点包中,我可以解决问题。它会很好地导入。但是,当您针对 heroku 的要求进行 pip freeze 时,它不存在。有没有办法在这上面伪造 heroku?
环境为:Windows 7(64 位)、Python 2.6.5、Django 1.3.1、virtualenv 1.6.4、PostgreSQL 9.1、pip 1.0.2
【问题讨论】:
标签: postgresql heroku virtualenv pip psycopg2