我需要将 csv 文件的内容上传到 PostgreSQL。内容不完美且包含错误,所以我不能只使用 COPY 命令,我需要跳过虚线。
所以我决定使用 pgloader-2.3.2
我有 Win8 x64、Python 2.7.6 x64、pip 1.5.6。
Pgloader 需要 psycopg2 我按照描述安装了它 here :
pip install git+https://github.com/nwcell/psycopg2-windows.git@win64-py27#egg=psycopg2
现在我在列表中看到了它:
C:\dev\tools\pgloader-2.3.2>pip list
pip (1.5.6)
psycopg2 (2.5.2)
setuptools (3.6)
但是我的 Python 看不到它:
>>> import psycopg2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named psycopg2
>>>
>>> import sys
>>> print sys.path
['', 'C:\\Windows\\SYSTEM32\\python27.zip', 'C:\\dev\\tools\\Python27\\DLLs', 'C:\\dev\\tools\\Python27\\lib', 'C:\\dev\\tools\\Python27\\lib\\plat-win', 'C:\\dev\\tools\\Python27\\lib\\lib-tk', 'C:\\dev\\tools\\Python27', 'C:\\dev\\tools\\Python27\\lib\\site-packages']
我去了 C:\dev\tools\Python27\Lib\site-packages\
目录,发现那里只有 psycopg2-2.5.2-py2.7.egg-info
目录(没有 psycopg2
或类似的东西)。
如何解决这个问题?我已经花了大约一天的时间来解决一堆问题,现在这个问题......真令人沮丧,如此原始的任务需要如此多的努力。
最佳答案
我尝试使用 GitHub repo 在 Windows 上安装 psycopg2 ,但有一个类似的问题,因为我选择了错误的版本(32 位而不是 64 位)。 PIP 告诉我 psycopg2 已成功安装,但尝试运行时我收到了相同的消息:
ImportError: No module named psycopg2
卸载并再次尝试,使用正确的版本,我收到了警告:
pip can't proceed with requirement 'psycopg2 from git+https://github.com/nwcell/psycopg2-windows.git@win32-py34' due to a pre-existing build directory. location: C:\Users\ADMINI~1\AppData\Local\Temp\2\pip_build_Administrator\psycopg2 This is likely due to a previous installation that failed. pip is being responsible and not assuming it can delete this. Please delete it and try again.
清理文件夹 C:\Users\my_username\AppData\Local\Temp\2\pip_build_my_username 并再次尝试后,我成功地安装了它。
正如评论中所指出的,另一种方法是使用以下方式安装二进制文件:http://www.stickpeople.com/projects/python/win-psycopg/
关于python - 无法在 Windows 上安装 psycopg2 以使用 pgloader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23854242/