首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PyO3运行货物

使用PyO3运行货物
EN

Stack Overflow用户
提问于 2022-07-12 17:34:53
回答 1查看 127关注 0票数 0

我正在使用PyO3开发一个锈蚀/ python包,在运行maturin develop之后,它在python中运行得很好。我可以将我的生锈代码导入Python并按照我的预期运行我的函数。

不过,我也希望仍然从Rust运行我的代码,所以当我运行cargo run时,我会得到以下错误:

代码语言:javascript
复制
error: linking with `cc` failed: exit status: 1

...

ld: symbol(s) not found for architecture arm64
          clang: error: linker command failed with exit code 1 (use -v to see invocation)

下面是一些简单的说明来复制这一点:

1.设置

代码语言:javascript
复制
# (replace string_sum with the desired package name)
$ mkdir string_sum
$ cd string_sum
$ python -m venv .env
$ source .env/bin/activate
$ pip install maturin

2.使用maturin初始化包

代码语言:javascript
复制
maturin init

3.添加main.rs文件

代码语言:javascript
复制
fn main() {
    println!("Hello, world!");
}

4.跑

代码语言:javascript
复制
cargo run
EN

回答 1

Stack Overflow用户

发布于 2022-07-14 02:50:25

我发现这个解决方案类似于cargo test这里报告的错误。

代码语言:javascript
复制
[lib]
name = "lib"
crate-type = ["cdylib", "rlib"]

...

[dependencies.pyo3]
version = "0.16.5"

[features]
extension-module = ["pyo3/extension-module"]
default = ["extension-module"]

如果你跑了:

代码语言:javascript
复制
cargo run --no-default-features

它按预期工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72956305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档