小编Nik*_*iki的帖子

如何使用 setup.py 安装动态库?

我想分发一个具有闭源依赖关系的 Python 包。我正在使用 setup.py,如果我也使用 setup.py 进行编译,一切都会正常。

无论是回答这个问题,也没有回答这个问题解决我的问题。

我有以下文件结构:

.
??? closed_source
?   ??? compiled.so
??? python_modules
?   ??? file1.py
?   ??? file2.py
?   ??? ...
?   ??? __init__.py
??? setup.py
Run Code Online (Sandbox Code Playgroud)

我也尝试包含compiled.sopython_modules. 在file1.py我使用import compiled哪个失败。

以下工作,但静默未能包括动态库:

setup(
    name='my_package',
    version=0.1,
    packages=['python_modules'],
    package_dir={'python_modules': 'python_modules'},
    package_data={'': ['closed_source/compiled.so']}, # also tried using key compiled
    include_package_data=True,
)
Run Code Online (Sandbox Code Playgroud)

python setuptools setup.py

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

如何在不使用互斥锁的情况下从任意索引处的多个线程写入可变切片?

我有两个从另一个方法传递过来的切片:

fn example<T>(a1: &[T], a2: &mut [T]) {}
Run Code Online (Sandbox Code Playgroud)

我想a1使用多个线程进行处理,然后a2使用仅在每个线程执行时才知道的完全任意索引写入。我的算法保证索引是互斥的,所以没有数据竞争。

借用检查器不喜欢在线程之间共享可变引用,因为它不知道我们的算法所做的保证。我也收到lifetime 'static required rustc (E0621)错误。

那么如何在 Rust 中做到这一点呢?

回答

不要回答我的问题。

第一个问题的答案解决了范围问题,而不是访问任意互不相交的索引的问题。第二个问题的答案表明,as_slice_of_cells但由于上述原因,即任意访问,这在这里不起作用。第三个问题的答案同样暗示,as_slice_of_cells但同样,数组可以分成不相交的部分的假设在这里无法实现。第四个问题再次询问对数组进行分区,我们在这里不能这样做。这同样适用于第五个问题。

范围界定问题的一个答案(/sf/answers/4515197711/)实际上试图解决这个问题,但它并不建议使用横梁,并且建议的替代方案比此处的最佳答案更不安全。

multithreading rust

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

标签 统计

multithreading ×1

python ×1

rust ×1

setup.py ×1

setuptools ×1