小编psa*_*rka的帖子

作为 pip install 用户,我应该安装wheel吗?

考虑通常的场景 - 我想创建一个虚拟环境并安装一些软件包。说

python3 -m venv venv
source venv/bin/activate
pip install databricks-cli
Run Code Online (Sandbox Code Playgroud)

在安装过程中,我收到错误

Building wheels for collected packages: databricks-cli
Building wheel for databricks-cli (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /home/paulius/Documents/wheeltest/venv/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-m7jmyh1m/databricks-cli/setup.py'"'"'; __file__='"'"'/tmp/pip-install-m7jmyh1m/databricks-cli/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-maxix98x
   cwd: /tmp/pip-install-m7jmyh1m/databricks-cli/
Complete output (8 lines):
/tmp/pip-install-m7jmyh1m/databricks-cli/setup.py:24: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
import imp …
Run Code Online (Sandbox Code Playgroud)

python pip python-wheel

13
推荐指数
2
解决办法
5499
查看次数

ALTER postgres 表由同一组的用户拥有

有很多类似的问题,但我仍然无法理解有关 postgres ALTER、DROP、角色和权限的一些简单内容。

我想要一个包含属于同一组的多个用户的数据库。当其中一个用户创建表时,其他人应该能够像他们自己创建一样使用它。我可以让它在某种程度上发挥作用,但 ALTER 和 DROP 仍然是个谜。

例如,我从头开始创建一个包含两个用户的数据库:

CREATE DATABASE test_db;
\c test_db 

CREATE ROLE alice LOGIN INHERIT;
CREATE ROLE bjork LOGIN INHERIT;
Run Code Online (Sandbox Code Playgroud)

然后我创建一个组并将用户分配到该组:

CREATE ROLE scientists;
GRANT scientists TO alice;
GRANT scientists TO bjork;
ALTER DEFAULT PRIVILEGES FOR ROLE alice GRANT ALL ON TABLES to scientists;
ALTER DEFAULT PRIVILEGES FOR ROLE bjork GRANT ALL ON TABLES to scientists;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON TABLES to scientists;
Run Code Online (Sandbox Code Playgroud)

alice创建一个表:

\c - alice
CREATE TABLE test_table …
Run Code Online (Sandbox Code Playgroud)

postgresql

8
推荐指数
1
解决办法
1万
查看次数

Cmake:使用 conan pybind11 包

我无法理解如何使用 pybind11 conan 包。我可以使用其他一些,但 pybind11 给我带来了困难。

我的出发点是这样的:

柯南文件.txt:

[requires]
pybind11/2.7.1

[generators]
cmake
Run Code Online (Sandbox Code Playgroud)

主要.cpp:

[requires]
pybind11/2.7.1

[generators]
cmake
Run Code Online (Sandbox Code Playgroud)

CMakeLists.txt

cmake_minimum_required(VERSION 3.21)
project(cobind11 VERSION 1.0 LANGUAGES CXX)

include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)
conan_basic_setup()

pybind11_add_module(cobind main.cpp)
Run Code Online (Sandbox Code Playgroud)

我试图让这项工作成功的痛苦日志:

初始点

如果我尝试按照上面的方式构建项目,我会收到以下错误:

CMake Error at CMakeLists.txt:10 (pybind11_add_module):
  Unknown CMake command "pybind11_add_module".

-- Configuring incomplete, errors occurred!
Run Code Online (Sandbox Code Playgroud)

添加find_package(需要pybind11)

如果我添加一行,find_package(pybind11 REQUIRED)我会收到以下错误:

CMake Error at CMakeLists.txt:16 (find_package):
  By not providing "Findpybind11.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "pybind11",
  but CMake did not …
Run Code Online (Sandbox Code Playgroud)

cmake conan pybind11

6
推荐指数
1
解决办法
2321
查看次数

renv + venv + jupyterlab + IRkernel:它会混合吗?

简洁版本

\n

renvvenv一起使用的简单而优雅的方式是什么jupyterlabIRkernel特别是,如何renv从不在根目录的jupyter笔记本自动激活?

\n

长版

\n

我正在拥抱“多语言”数据科学风格,这意味着同时使用 python 和 R。现在venv太棒了,renv太棒了,jupyterlab太棒了,所以我试图找出将它们一起使用的巧妙方法。

\n

快要完成了,所以可能一些提示就足以完成这个设置。这就是我现在所在的地方。

\n

系统

\n

从干净的操作系统开始,并安装系统级要求:R + renv 和 Python + venv。例如在 Ubuntu 上,它大约是这样的:

\n
# R\nsudo apt install r-base\nsudo R -e "install.packages(\'renv\')"\n\n# Python\nsudo apt install python3.8\nsudo apt install python3.8-venv\n
Run Code Online (Sandbox Code Playgroud)\n

项目

\n

现在创建一个包含两个文件的基本项目jupyrenv

\n
jupyrenv/\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 DESCRIPTION\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 requirements.txt\n
Run Code Online (Sandbox Code Playgroud)\n

DESCRIPTION包含 R 依赖项:

\n
Suggests:\n    IRkernel,\n    fortunes\n
Run Code Online (Sandbox Code Playgroud)\n

requirements.txt包含 python …

python r rprofile jupyter-notebook renv

3
推荐指数
1
解决办法
866
查看次数

反复重新分配指向可迭代的变量

考虑以下代码:

import more_itertools as mo

def rep(x, n):
    for i in range(n):
        yield x

xs = [0]
for n in [1, 2, 3]:
    xs = mo.flatten(rep(x, n) for x in xs)

print(mo.ilen(xs))
Run Code Online (Sandbox Code Playgroud)

正确答案应该是 6,但它打印出 27,为什么?

请注意,它more_itertools.flatten做了显而易见的事情,实际上是itertools.chain.from_iterable. more_itertools.ilen也做了显而易见的事情,只计算元素。我不认为所涉及的功能有任何错误,只是重新签名的问题xs

python iterable

1
推荐指数
1
解决办法
54
查看次数

__all__ 可以是对象列表而不是字符串吗?

我发现自己在__init__.py文件中使用了以下模式:

from tool.shed import shovel
from tool.shed import bucket

__all__ = [shovel, bucket]
Run Code Online (Sandbox Code Playgroud)

这样的代码适用于我尝试过的所有python版本,但似乎这是一个意外。我还没有看到它在任何地方提到__all__可以是对象列表(而不是字符串),而且,这在运行时被报告为错误mypy

Type of __all__ must be "Sequence[str]", not "List[object]"

有什么理由__all__应该是字符串列表吗?或者对象也可以吗?

python

0
推荐指数
1
解决办法
747
查看次数