bel*_*ums 32 python postgresql macos psycopg2
我正在尝试在我的Mac书上安装Psycopg2.我仍然得到同样的错误.我在Stack Overflow上发现了很多相同的问题,但似乎没有答案可行.我认为它已经过时了.我正在使用:
Mac osx 10.9.5
Python 3.4.3
Run Code Online (Sandbox Code Playgroud)
我的错误代码是:
运行setup.py egg_info for package psycopg2错误:找不到pg_config可执行文件.
请将包含pg_config的目录添加到PATH,或使用以下选项指定完整的可执行文件路径:
python setup.py build_ext --pg-config/path/to/pg_config build ...
或者使用'setup.cfg'中的pg_config选项.从命令python setup.py egg_info完成输出:运行egg_info
写pip-egg-info/psycopg2.egg-info/PKG-INFO
将顶级名称写入pip-egg-ps/psycopg2.egg-info/top_level.txt
将dependency_links写入pip-egg-info/psycopg2.egg-info/dependency_links.txt
警告:manifest_maker:找不到标准文件'-c'
错误:找不到pg_config可执行文件.
请将包含pg_config的目录添加到PATH
或使用以下选项指定完整的可执行文件路径:
python setup.py build_ext --pg-config/path/to/pg_config build ...
或者使用'setup.cfg'中的pg_config选项.
命令python setup.py egg_info失败,错误代码为1/Users/stevengerrits/build/psycopg2存储完整的登录/Users/stevengerrits/Library/Logs/pip.log
Lab*_*ban 109
我跑了pip install psycopg2-binary它就像魅力一样
Vai*_*hra 49
您似乎没有安装postgres,检查如何在您的系统中安装postgresql,其中一种方法是
brew install postgresql(如果您使用自制软件推荐)或从postgresapp.com下载postgres应用程序,pg_config应该附带postgres和psycopg2是试图找到它.
Jon*_*nes 34
要安装,psycop2你需要安装服务器之前(我已经安装了PostgresApp)
在我的情况下,手动运行命令,包括env变量中的pg_config程序路径PATH:
export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.4/bin/
Run Code Online (Sandbox Code Playgroud)
然后跑
pip3 install psycopg2
Run Code Online (Sandbox Code Playgroud)
编辑:
检查目录pg_config:
which pg_config
Run Code Online (Sandbox Code Playgroud)
我的问题是,由于某种原因,在 VENV pip install psycopg2 中不起作用,但我发现从 VENV 内部运行此命令
env LDFLAGS='-L/usr/local/lib -L/usr/local/opt/openssl/lib -L/usr/local/opt/readline/lib' pip install psycopg2
Run Code Online (Sandbox Code Playgroud)
允许我在mac上安装它。
OSX不再包含PostgreSQL,因此您需要以某种方式安装它以构建psycopg2模块的二进制部分.
我用过brew和port.通过其中一个安装任何PostgreSQL版本将使您能够构建模块.
如果以其他方式安装Postgres,则需要检查pg_config路径中的可执行文件.
您可以pg_config使用该命令检查是否存在
which -a pg_config
Run Code Online (Sandbox Code Playgroud)
如果安装了Postgres并且上述命令没有返回任何内容,则需要手动查找pg_config可执行文件并将其包含的目录放在PATH中:
export PATH=/path/to/postgresql/bin/:$PATH
Run Code Online (Sandbox Code Playgroud)
编辑:
如果你已经通过自制软件安装了它,但它不在你的路径中,你应该检查/usr/local/bin你的路径中是否存在该目录,如果缺少则添加它
如果目录在那里,您可以尝试使用以下命令重新链接postgres
brew unlink postgresql && brew link postgresql
Run Code Online (Sandbox Code Playgroud)
psycopg2安装及其在文件中的导入问题.py可能存在于两个方面 - 安装和导入。
psycopg2没有安装或出现安装错误,请检查 PostgreSQL 安装是否存在问题,链接到PostgreSQL 安装或安装文件夹pg_config中的文件及其链接。binopensslpsycopg2已安装但您无法将其导入.py文件中,则问题出libpq在其链接上。下面再现了总体步骤。您可以逐步检查以了解错误的根源,然后可以从那里排除故障。
通过以下方式将文件链接放入您的文件pg_config中: 。这样您就可以与文件夹中的文件建立链接。因此,如果您的 PostgreSQL 安装是通过其他方式进行的,例如 Postgres.app 或通过自制程序安装 Postgres,那么您需要在文件中包含该 PostgreSQL 安装文件夹中的文件链接,因为它依赖于该文件。.zshrc
export PATH="$PATH:/Library/PostgreSQL/12/bin:$PATH"pg_config/Library/PostgreSQL/12/bin.zshrcpg_configbinpsycopg2
使用命令通过 Homebrew 安装 OpenSSL brew install openssl。原因是libpq,作为 的基础的库psycopg2使用 openssl -psycopg2并不直接使用它。安装后将以下命令放入您的.zshrc文件中:
export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib"export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include"现在到了最重要的一步,就是libpq使用命令安装brew install libpq。这将安装 libpq 库。 根据文档
libpq 是 C 应用程序程序员与 PostgreSQL 的接口。libpq 是一组库函数,允许客户端程序将查询传递到 PostgreSQL 后端服务器并接收这些查询的结果。
brew link libpq,如果这不起作用,则使用命令:brew link libpq --force。.zshrc还将以下内容放入您的文件中export PATH="/usr/local/opt/libpq/bin:$PATH"。这为 Library 创建了所有必要的链接libpq。source ~/.zshrc。pip install psycopg2。它会起作用的。即使您在 conda 环境中工作,这也是有效的。 pip install psycopg2-binary应该避免,因为根据 psycopg2 库的开发人员不鼓励在生产中使用 -binary 包,因为过去证明它们在多线程环境中不可靠。这可能已在更新的版本中修复,但我从未设法重现该故障。
小智 6
$ find / -name pg_config 2>/dev/null
Run Code Online (Sandbox Code Playgroud)
/Applications/Postgres.app/Contents/Versions/9.3/bin/pg_config
$ export PATH=$PATH:/Applications/Postgres.app/Contents/Versions/9.3/bin/
$ pip install psycopg2
Run Code Online (Sandbox Code Playgroud)
我一整天都在与这个问题作斗争。然后我运行了一个在 Pillow library Issues 中找到的脚本并解决了问题。检查一下 https://github.com/python-pillow/Pillow/issues/3438#issuecomment-435169249
小智 5
在我的 MAC 上,这样做就成功了:
pip install psycopg2-binary
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
52406 次 |
| 最近记录: |