我正在开发一个项目,该项目使用Poetry和pyproject.toml文件来指定其依赖项来管理依赖项。我需要的库之一的文档建议使用 pip 安装其中一个依赖项的“额外”选项,如下所示:
pip install google-cloud-bigquery[opentelemetry]
Run Code Online (Sandbox Code Playgroud)
我应该如何在pyproject.toml文件中反映这一要求?目前,有这样几行:
[tool.poetry.dependencies]
python = "3.7.10"
apache-beam = "2.31.0"
dynaconf = "3.1.4"
google-cloud-bigquery = "2.20.0"
Run Code Online (Sandbox Code Playgroud)
将最后一行更改为
google-cloud-bigquery[opentelemetry] = ">=2.20.0"
Run Code Online (Sandbox Code Playgroud)
产量
Invalid TOML file /home/jupyter/vertex-monitoring/pyproject.toml: Unexpected character: 'o' at line 17 col 22
Run Code Online (Sandbox Code Playgroud)
其他似乎无法正确解析的变体:
google-cloud-bigquery["opentelemetry"] = "2.20.0"
Run Code Online (Sandbox Code Playgroud)
还有其他看起来相关的StackOverflow问题,以及几个 不同的 PEP 文档,但我的搜索很复杂,因为我不确定这些是“选项”还是“附加”还是其他东西。
对于学术实验,我需要限制 pgSQL 服务器可用于计算给定查询集的内存总量。
我知道我可以通过postgresql.conf文件来做到这一点,我可以在其中调整一些与资源管理相关的参数。
问题是:我不清楚——考虑到配置文件上可用的几个参数——哪些是我应该更改的参数。
当我第一次打开配置文件时,我期待这样的内容:max_server_memmory. 相反,我发现了很多:shared_buffers、、、temp_buffers等等work_mem......
鉴于此,我查阅了pgSQL 文档。关于资源消耗,我提出了shared_buffers作为我正在寻找的最佳候选者:限制 pgSQL 服务器可以用来执行其计算的内存总量的参数。但我对此并不完全确定。
你们能给我一些关于我应该调整哪些参数来限制 pgSQL 服务器内存的见解吗?
安装后,我想对安装创建的一些配置和数据文件进行软链接.
如何从软件包的setup.py中确定安装的新软件包的位置?
我最初硬编码路径"/usr/local/lib/python2.7/dist-packages",但是当我尝试使用虚拟环境时,这种情况就破裂了.(由virtualenv创建.)
我尝试了distutils.sysconfig.get_python_lib(),这在virtualenv中有效.但是,当安装在真实系统上时,它会返回"/usr/lib/python2.7/dist-packages"(注意"本地"目录不存在.)
我也尝试过site.getsitepackages():
从基础环境运行Python shell:
进口网站
site.getusersitepackages()
'/home/sarah/.local/lib/python2.7/site-packages'
site.getsitepackages()
['/usr/local/lib/python2.7/dist-packages','/usr/lib/python2.7/dist-packages']
从虚拟环境"testenv"运行Python shell:
进口网站
site.getsitepackages()
Traceback(最近一次调用最后一次):
文件"",第1行,in
AttributeError:'module'对象没有属性'getsitepackages'
我正在运行"Python 2.7.3(默认,2012年8月1日,05:14:39)"和Ubuntu上的"Linux2上的[GCC 4.6.3]".我可以用try-except块来拼凑一些东西,但似乎应该有一些由distutils/setuptools设置/返回的变量.(我不知道要使用哪个分支,只要它有效.)
谢谢.
我对 TFX 很陌生,但有一个明显有效的 ML 管道,可通过BulkInferrer 使用。这似乎只以 Protobuf 格式生成输出,但由于我正在运行批量推理,我想将结果通过管道传输到数据库。(DB 输出似乎应该是批量推理的默认值,因为批量推理和 DB 访问都利用了并行化......但 Protobuf 是一种每条记录的序列化格式。)
我假设我可以使用Parquet-Avro-Protobuf 之类的东西来进行转换(尽管这是在 Java 中,而管道的其余部分在 Python 中),或者我可以自己编写一些东西来逐一使用所有 protobuf 消息,进行转换将它们转换为 JSON,将 JSON 反序列化为一个 dict 列表,然后将 dict 加载到 Pandas DataFrame 中,或者将其存储为一堆键值对,我将其视为一次性数据库……但这听起来像是对于一个非常常见的用例,涉及并行化和优化的大量工作和痛苦。顶级 Protobuf 消息定义是 Tensorflow 的PredictionLog。
这一定是一个常见的用例,因为像这样的TensorFlowModelAnalytics 函数使用 Pandas DataFrames。我宁愿能够直接写入数据库(最好是 Google BigQuery)或 Parquet 文件(因为 Parquet / Spark 似乎比 Pandas 并行化得更好),而且,这些似乎应该是常见用例,但我没有找到任何例子。也许我使用了错误的搜索词?
我还查看了PredictExtractor,因为“提取预测”听起来接近我想要的......但官方文档似乎没有说明应该如何使用该类。我认为TFTransformOutput听起来像是一个有前途的动词,但实际上它是一个名词。
我显然在这里遗漏了一些基本的东西。有没有人想将 BulkInferrer 结果存储在数据库中的原因?是否有允许我将结果写入数据库的配置选项?也许我想向TFX 管道添加ParquetIO或BigQueryIO实例?(TFX 文档说它在“幕后”中使用了 Beam,但这并没有说明我应该如何将它们一起使用。)但是这些文档中的语法看起来与我的 TFX 代码完全不同,我不确定它们是否“重新兼容?
帮助?
我有一个使用bradjasper django-jsonfield软件包的Postgres 9.4/Django 1.8数据库.(参见https://github.com/bradjasper/django-jsonfield)它运行良好,但我想升级现有数据以使用Postgres 9.6和Django 1.9的内置JSONField.(请参阅https://docs.djangoproject.com/en/1.10/ref/contrib/postgres/fields/#jsonfield)这将允许更强大的JSON内容搜索.
如何将旧数据库升级到新数据库?
我尝试了什么:我尝试插入一对架构迁移
dumpdata命令.text或json到jsonb).loaddata命令.这给出了一个错误:u"[] (type <type 'unicode'>) is not a valid list for field url_methods"]: (myapp.mytable:pk=1) field_value was '[]'
我正在看postgresql将JSON迁移到JSONB并将PostgreSQL JSON列升级到JSONB?但我希望尽量减少自定义SQL.postgresql ×2
python ×2
database ×1
dependencies ×1
django ×1
installation ×1
json ×1
jsonb ×1
output ×1
path ×1
setup.py ×1
tensorflow ×1
tfx ×1