我已经安装了psycopg2
pip install psycopg2
而且效果很好。安装输出有几个警告
In file included from ./psycopg/psycopg.h:33:
./psycopg/config.h:71:13: warning: unused function 'Dprintf' [-Wunused-function]
static void Dprintf(const char *fmt, ...) {}
^
1 warning generated.
但最后它说
Successfully installed psycopg2
当我运行pip list
时,它也会出现。
现在,当我尝试用python导入它时,我得到一个错误:
$ python
Python 2.7.5 (default, Aug 25 2013, 00:04:04)
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import psycopg2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named psycopg2
如果模块安装成功,Python为什么不能导入它?
(Python2.7.5与自制程序一起安装。psycopg2与pip一起安装。)
OSX已经配备了Python2.7.5;当您在自制程序中安装Python时,它会将较新的版本放在不同的位置,而不会触及内置版本。Homebrew的Python也附带了Pip,而OS X没有。这里的情况是,您使用Homebrew的
pip
安装psycopg2,然后运行OS X的python
并尝试导入它。运行
/usr/local/bin/python
(自制Python的完整路径),然后从那里尝试import psycopg2
。如果可以,您需要在变量
PATH
中的/usr/local/bin
之前放置/usr/bin
,这样您的shell每次都会在OS X之前找到自制的Python。如果使用Bash(OS X中的默认shell),可以通过在.bash_profile
中放入以下命令来完成此操作:要确保在脚本中运行正确的Python,请使用以下shebang行:
env
将搜索PATH
以查找Python,并使用找到的第一个脚本运行脚本,这与从shell中键入python
相同。Bash脚本等应该继承PATH
变量,并在没有更改的情况下找到正确的python。您还可以在shebang行(
#!/usr/local/bin/python
)中硬编码到自制Python的路径,但这意味着您的脚本只能在安装了自制Python的OS X机器上运行,最好避免使用。相关问题 更多 >
编程相关推荐