GVKun编程网logo

python – psycopg2,pymc,theano和DYLD_FALLBACK_LIBRARY_PATH(python3 psycopg2)

2

对于想了解python–psycopg2,pymc,theano和DYLD_FALLBACK_LIBRARY_PATH的读者,本文将是一篇不可错过的文章,我们将详细介绍python3psycopg2,

对于想了解python – psycopg2,pymc,theano和DYLD_FALLBACK_LIBRARY_PATH的读者,本文将是一篇不可错过的文章,我们将详细介绍python3 psycopg2,并且为您提供关于ImproperlyConfigured 加载 psycopg2 模块时出错 没有名为 psycopg2 的模块、Psycopg2,Postgresql,Python:最快的方式批量插入、Psycopg2,Postgresql,Python:批量插入的最快方法、pymc,一个超强的 Python 库!的有价值信息。

本文目录一览:

python – psycopg2,pymc,theano和DYLD_FALLBACK_LIBRARY_PATH(python3 psycopg2)

python – psycopg2,pymc,theano和DYLD_FALLBACK_LIBRARY_PATH(python3 psycopg2)

我无法使用pymc和psycopg2.本教程中的以下简单片段:

import pymc as pm
with pm.Model() as model:
    x = pm.normal('x',mu=0.,sd=1)

导致以下错误:

Exception: The environment variable ‘DYLD_FALLBACK_LIBRARY_PATH’ does
not contain the ‘/Users/josh/anaconda/envs/py27/lib’ path in its
value. This will make Theano unable to compile c code. Update
‘DYLD_FALLBACK_LIBRARY_PATH’ to contain the said value,this will fix
this error.

我能够通过添加以下内容来解决此问题:

export DYLD_FALLBACK_LIBRARY_PATH=$DYLD_FALLBACK_LIBRARY_PATH:/Users/josh/anaconda/envs/py27/lib

到我的shell init文件.bashrc.但是,这是我不理解的部分,该行打破了psycopg2:

---> 50 from psycopg2._psycopg import BINARY,NUMBER,STRING,DATETIME,ROWID
     51 
     52 from psycopg2._psycopg import Binary,Date,Time,Timestamp

ImportError: dlopen(/Users/josh/anaconda/envs/py27/lib/python2.7/site-packages/psycopg2/_psycopg.so,2): Library not loaded: @loader_path/../../../libpq.5.dylib                                                                                                 
  Referenced from: /Users/josh/anaconda/envs/py27/lib/python2.7/site-packages/psycopg2/_psycopg.so
  Reason: image not found

我怎样才能让psycopg2和pymc(这里的theano)幸福地生活在一起?

这是在OS X上安装Python 2.7.6,使用conda创建的Python环境.

解决方法

Theano的开发版本不需要更改为DYLD_FALLBACK_LIBRARY_PATH.因此,请撤消对其的更改并更新您的Theano版本.从:

http://www.deeplearning.net/software/theano/install.html#bleeding-edge-install-instructions

根据您的需要运行其中一个命令:

pip install --upgrade --no-deps git+git://github.com/Theano/Theano.git --install-option='--prefix=~/.local'
pip install --upgrade --no-deps git+git://github.com/Theano/Theano.git

编辑:我删除了其他地方的答案链接,并在此处复制了答案.谢谢

ImproperlyConfigured 加载 psycopg2 模块时出错 没有名为 psycopg2 的模块

ImproperlyConfigured 加载 psycopg2 模块时出错 没有名为 psycopg2 的模块

如何解决ImproperlyConfigured 加载 psycopg2 模块时出错 没有名为 psycopg2 的模块

我在 Ubuntu 20.04 上使用 docker-compose。我有这个 docker-compose.yml 文件——两个服务,一个 PostGres DB 和一个 Python/Django 应用

  1. # Get each row as a record
  2. records = df.to_dict(orient=''records'')
  3. # [{''c1'': 10,''c2'': 100},{''c1'': 11,''c2'': 110},{''c1'': 12,''c2'': 120}]
  4. # Transform each row
  5. records = [{''fields'':x} for x in records]
  6. # [{''fields'': {''c1'': 10,''c2'': 100}},# {''fields'': {''c1'': 11,''c2'': 110}},# {''fields'': {''c1'': 12,''c2'': 120}}]

这是用于构建 Python/Django 容器的 Dockerfile

  1. version: "3.3"
  2. services:
  3. pgdb:
  4. image: postgres
  5. container_name: postgres-Django
  6. ports:
  7. - 5433:5432
  8. environment:
  9. - POSTGRES_DB=postgres
  10. - POSTGRES_USER=userName
  11. - POSTGRES_PASSWORD=Password
  12. django:
  13. build: .
  14. container_name: django
  15. command: python manage.py runserver 0.0.0.0:8000
  16. volumes:
  17. - .:/vol/app
  18. ports:
  19. - "8000:8000"
  20. environment:
  21. DEBUG: ''true''
  22. depends_on:
  23. - pgdb

Requirements.txt 文件内容

  1. FROM python:3.8-alpine
  2. ADD . /app
  3. workdir /app
  4. copY ./requirements.txt /app/requirements.txt
  5. RUN python -m pip install -r requirements.txt
  6. copY . /app

Python setting.py文件DB相关内容:

  1. Django==2.2
  2. gunicorn==20.0.4
  3. psycopg2-binary==2.8.6
  4. psycopg2==2.8.6

注意:HOSTNAME pgdb 和 docker-compose postgres 服务中写的一样

当我执行命令“docker-compose run django(django app service name) python manage.py migrate”时,它抛出异常“psycopg2 module not found”,即使它在txt文件中可用也是一样django 应用配置在本地执行时工作正常。

我也尝试安装依赖库“libpq-dev and python3-psycopg2”,但没有成功

请问有什么办法可以解决这个问题吗?

Psycopg2,Postgresql,Python:最快的方式批量插入

Psycopg2,Postgresql,Python:最快的方式批量插入

我正在寻找最有效的方式批量插入几百万元组到数据库。我使用的是Python,Postgresql和 psycopg2。

我已经创建了一个长列表的应该插入到数据库的郁金香,有时具有修饰符像几何简化。

天真的方法是字符串格式化一个INSERT语句的列表,但是我还读了三个其他方法:

>使用pyformat binding style参数插入
>在元组列表上使用executemany,和
>使用将结果写入文件并使用copY。

似乎第一种方式是最有效的,但我会感谢你的见解和代码片段告诉我如何做到正确。

是的,我会投票copY,只要你可以写一个文件到服务器的硬盘驱动器(而不是该应用程序运行的驱动器),因为copY将只读取服务器。

Psycopg2,Postgresql,Python:批量插入的最快方法

Psycopg2,Postgresql,Python:批量插入的最快方法

我正在寻找将数百万个元组批量插入数据库的最有效方法。我正在使用Python,PostgreSQL和psycopg2。

我已经创建了很长一段时间的流氓列表,应该将其插入数据库中,有时还要使用诸如geometric这样的修饰符Simplify

幼稚的方法是对INSERT语句列表进行字符串格式化,但是我还了解了三种其他方法:

  1. 使用pyformat绑定样式进行参数插入
  2. executemany在元组列表上使用,以及
  3. 使用将结果写入文件并使用COPY

似乎第一种方法是最有效的,但是我希望您的见解和代码片段告诉我如何正确执行。

答案1

小编典典

是的,如果您可以将文件写入 服务器 的硬盘驱动器(而不是应用程序正在运行的驱动器),我会投票支持COPY,因为COPY只会读取服务器。

pymc,一个超强的 Python 库!

pymc,一个超强的 Python 库!

大家好,我是涛哥,本文内容来自 涛哥聊Python ,转载请标原创。

今天为大家分享一个超强的 Python 库 - pymc

Github地址:https://github.com/pymc-devs/pymc


Python PyMC库是一个强大的概率编程库,用于贝叶斯统计建模和蒙特卡罗采样。它提供了丰富的功能和灵活的API,使得贝叶斯推断和概率建模变得简单而有效。

安装与配置

首先,看看如何安装Python PyMC库并进行基本配置:

pip install pymc

安装完成后,可以导入PyMC库并开始构建概率模型。

概率模型

在PyMC中,可以使用概率分布和随机变量来构建概率模型。

以下是一个简单的高斯分布模型示例:

import pymc as pm

# 定义模型
mu = pm.Normal(''mu'', mu=0, sigma=1)
observed = pm.Normal(''observed'', mu=mu, sigma=1, value=0, observed=True)

# 进行贝叶斯推断
model = pm.Model([mu, observed])
mcmc = pm.MCMC(model)
mcmc.sample(1000)

贝叶斯推断

PyMC库通过MCMC(马尔科夫链蒙特卡罗)采样方法进行贝叶斯推断。

以下是一个简单的贝叶斯推断示例:

# 绘制后验分布
pm.Matplot.plot(mcmc.trace(''mu''))

概率分布

PyMC库支持多种概率分布,如高斯分布、泊松分布、指数分布等。可以根据实际需求选择合适的概率分布。

# 定义泊松分布
lambda_ = pm.Exponential(''lambda_'', beta=1)
data = pm.Poisson(''data'', mu=lambda_, value=[1, 2, 3, 4, 5], observed=True)

蒙特卡罗采样

PyMC库提供了多种蒙特卡罗采样方法,如Metropolis、Gibbs等。

以下是一个Metropolis采样的示例:

mcmc = pm.Metropolis(model)
mcmc.sample(10000)

贝叶斯网络

除了单变量模型,PyMC库还支持贝叶斯网络的构建和分析。

以下是一个简单的贝叶斯网络示例:

A = pm.Bernoulli(''A'', 0.5)
B = pm.Bernoulli(''B'', 0.5)
C = pm.Bernoulli(''C'', 0.5)

D = pm.Deterministic(''D'', A | B)
E = pm.Deterministic(''E'', B & C)

实例分析

通过一个实例分析,可以展示PyMC库在实际问题中的应用。

例如,分析一组观测数据并进行概率建模和预测。

data = [1, 2, 3, 4, 5]
mu = pm.Normal(''mu'', mu=0, sigma=1)
observed = pm.Normal(''observed'', mu=mu, sigma=1, value=data, observed=True)

model = pm.Model([mu, observed])
mcmc = pm.MCMC(model)
mcmc.sample(10000)

pm.Matplot.plot(mcmc.trace(''mu''))

PyMC库的应用场景

1. 概率建模

PyMC库可以用于构建概率模型,用于对数据进行建模和预测。

例如,可以使用PyMC库构建一个简单的线性回归模型:

import numpy as np
import pymc as pm
import matplotlib.pyplot as plt

# 生成模拟数据
np.random.seed(0)
x = np.linspace(0, 10, 100)
true_slope = 2
true_intercept = 1
y = true_slope * x + true_intercept + np.random.normal(0, 1, 100)

# 定义模型
slope = pm.Normal(''slope'', mu=0, tau=1.0 / 10 ** 2)
intercept = pm.Normal(''intercept'', mu=0, tau=1.0 / 10 ** 2)
mu = slope * x + intercept
likelihood = pm.Normal(''likelihood'', mu=mu, tau=1.0 / 1 ** 2, observed=y)

# 进行贝叶斯推断
model = pm.Model([slope, intercept, likelihood])
mcmc = pm.MCMC(model)
mcmc.sample(10000, burn=1000)

# 绘制后验分布
pm.Matplot.plot(mcmc.trace(''slope''), label=''Slope'')
pm.Matplot.plot(mcmc.trace(''intercept''), label=''Intercept'')
plt.legend()
plt.show()

通过这个例子,可以利用PyMC库构建线性回归模型,并对斜率和截距进行贝叶斯推断。

2. 时间序列分析

PyMC库也可以用于时间序列分析,例如ARIMA模型。

以下是一个简单的ARIMA模型示例:

import pandas as pd
import pymc as pm
import matplotlib.pyplot as plt
from statsmodels.tsa.arima_process import ArmaProcess

# 生成模拟时间序列数据
np.random.seed(0)
ar = np.array([1, -0.9])
ma = np.array([1])
arma_process = ArmaProcess(ar, ma)
ts_data = pd.Series(arma_process.generate_sample(nsample=1000))

# 定义ARIMA模型
order = (1, 0, 0)  # ARIMA(1, 0, 0)模型
ar_coef = pm.Uniform(''ar_coef'', lower=-1, upper=1)
mu = pm.Uniform(''mu'', lower=-1, upper=1)
likelihood = pm.AR1(''likelihood'', rho=ar_coef, mu=mu, sigma=1, value=ts_data, observed=True)

# 进行贝叶斯推断
model = pm.Model([ar_coef, mu, likelihood])
mcmc = pm.MCMC(model)
mcmc.sample(10000, burn=1000)

# 绘制后验分布
pm.Matplot.plot(mcmc.trace(''ar_coef''), label=''AR Coefficient'')
pm.Matplot.plot(mcmc.trace(''mu''), label=''Mean'')
plt.legend()
plt.show()

这个例子展示了如何使用PyMC库构建ARIMA模型,并进行贝叶斯推断分析。

3. 模式识别

PyMC库也可以用于模式识别问题,如分类、聚类等。

以下是一个简单的朴素贝叶斯分类器示例:

import numpy as np
from sklearn.datasets import make_classification
from sklearn.naive_bayes import GaussianNB
from sklearn.model_selection import train_test_split
import pymc as pm

# 生成模拟数据
X, y = make_classification(n_samples=1000, n_features=10, random_state=0)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)

# 定义朴素贝叶斯分类器
classifier = GaussianNB()

# 训练分类器
classifier.fit(X_train, y_train)

# 进行预测
y_pred = classifier.predict(X_test)
accuracy = np.mean(y_pred == y_test)
print(f"Accuracy: {accuracy}")

# 使用PyMC进行不确定性建模
with pm.Model() as model:
    p = pm.Uniform(''p'', 0, 1)
    obs = pm.Bernoulli(''obs'', p, observed=y_pred == y_test)
    trace = pm.sample(1000)

pm.traceplot(trace)
plt.show()

这个例子演示了如何使用PyMC库对朴素贝叶斯分类器的预测结果进行不确定性建模和分析。

总结

Python PyMC库是一个强大而灵活的概率编程库,用于贝叶斯统计建模和蒙特卡罗采样。通过本文的详细介绍和示例代码,可以了解PyMC库的基本用法和高级功能,并在实际项目中应用该库来进行贝叶斯推断和概率建模。PyMC库的出现为数据科学和机器学习领域的应用提供了强大的支持。

今天关于python – psycopg2,pymc,theano和DYLD_FALLBACK_LIBRARY_PATHpython3 psycopg2的分享就到这里,希望大家有所收获,若想了解更多关于ImproperlyConfigured 加载 psycopg2 模块时出错 没有名为 psycopg2 的模块、Psycopg2,Postgresql,Python:最快的方式批量插入、Psycopg2,Postgresql,Python:批量插入的最快方法、pymc,一个超强的 Python 库!等相关知识,可以在本站进行查询。

本文标签: