更新:请注意,这是在WINDOWS机器上
关于virtualenv以及安装的pythonpath的差异,堆栈上有很多帖子。在大多数情况下,这些用户只是在执行pip安装之前忘记激活env。
这不是我的问题
相反,我的问题在于运行manage.py runserver时的django。我正在尝试迁移在创建virtualenv之前启动的django项目。作为其中的一部分,我尝试在激活的virtualenv中创建一个新的django项目,并简单地迁移我的旧文件。
(VENV) python django-admin.py startproject XYZ
*注意:我已经激活了virtualenv并使用“python”运行命令,它指的是virutalenv中的python安装
然后我将旧文件迁移并运行:
python manage.py runserver
此时DLL加载失败。
Error: DLL load failed: The specified module could not be found.
运行一个普通的manage.py runserver,但由于这是指全局python安装,这不是我想要的。
答案 0 :(得分:0)
Windows for Python上的二进制安装程序与虚拟环境不兼容,只安装到默认系统Python(如注册表中所列)。
因此,数据库驱动程序等软件包与Python Imaging Library等软件包不兼容虚拟环境。
我知道三个选项:
我建议将#2作为三者中最容易的。
您可以尝试使用setuptools(easy_install
或pip
),但除非您设置了开发环境,否则程序包将无法成功编译和安装(不会构建DLL);导致你遇到的错误。
对于heroku;您可以手动管理您的需求文件并添加psycopg2以确保heroku正确部署您的应用程序。