问题标签 [cpython]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
896 浏览

python - 我可以在 PyPy 中嵌入 CPython 吗?

我想用 Python 写一个性能敏感的应用程序,所以在 PyPy 下执行它是一个自然的选择。但是,我的代码中有很大一部分依赖于 numpy、scipy 和 scikit-learn。是否可以在运行的 PyPy 程序中嵌入 CPython 实例以调用面向数组的代码?如果没有,让 PyPy 和 CPython 相互交流的最简单方法是什么?

0 投票
1 回答
188 浏览

c++ - 当前 Python 实现和编译语言之间的界线

我的理解

C++被编译成机器码并被执行。

Python被编译成字节码

然后执行此字节码

这个执行步骤需要什么,Cpython 和 PyPy 有什么不同?

性能差异体现在哪里?Python 是动态类型的这一事实在性能方面有何影响?

谢谢!

0 投票
1 回答
983 浏览

c++ - 在 C++ 中的 python 类中指定静态变量

在 CPython C++ 中,如何在 python 类中指定静态方法或变量?

在 PyTypeObject 结构中,tp_getset、tp_methods、tp_members 似乎都假定了类的一个实例。

非常感谢,罗布。

0 投票
1 回答
2285 浏览

python - CPython 源代码 - 如何构建 STATIC python26.lib?

我正在尝试使用 Cython 将我的 hello.pyx 文件编译为 exe。

第一步是使用命令“cython --cplus --embed hello.pyx”将 hello.pyx 编译成 hello.cpp 文件。Embed选项的意思是Generate a main() function that embeds the Python interpreter。我正在尝试创建一个没有依赖关系的独立 exe。

hello.cpp我有一个#include "Python.h",所以我从这里下载 Python 源:http: //www.python.org/download/releases/2.6.6/,选择Gzipped source tar ball (2.6.6)。我添加了包含目录并收到有关缺少 Python26.lib 的错误。所以我正在尝试编译它。默认构建创建 python26.lib 但它只有 200 KB,这不是静态库,当尝试编译 hello.cpp 时我得到缺少引用错误。

在自述文件中,我没有看到任何关于如何静态构建它的有用说明。但是,我在网上搜索了一个 README 文件,对于 trunk (3.x) 中最新版本的 python,有一些关于静态构建的有用信息:

http://svn.python.org/projects/python/trunk/PCbuild/readme.txt

该解决方案没有静态库的配置。然而,它很容易构建一个静态库而不是一个 DLL。您只需将“配置类型”设置为“静态库 (.lib)”并将预处理器宏“Py_ENABLE_SHARED”更改为“Py_NO_ENABLE_SHARED”。您可能还必须将“运行时库”从“多线程 DLL (/MD)”更改为“多线程 (/MT)”。

但是这里仍然没有太多细节,我是否将解决方案中的所有项目都设置为构建为静态库?还是只有pythoncore?“Python”和“Pythonw”项目是“应用程序”,所以我只能将运行时库更改为 /MT。这些是我正在做的步骤:

  • 更改为“发布”模式。
  • 项目“Python” - 设置/MT和添加预处理器定义Py_NO_ENABLE_SHARED
  • 项目“Pythoncore” - 配置类型为Static library (.lib)/MT,将预处理器定义替换Py_ENABLE_SHAREDPy_NO_ENABLE_SHARED
  • 项目“Pythonw” - 与“Python”中的相同。
  • 我右键单击“Python”上的构建。

构建总结:

构建:5 成功,1 失败,0 最新,0 跳过

失败的项目是“Python”,这里是日志:

我查看 /PCbuild/ 目录,发现“pythoncore.lib”存在(10MB),但没有“python26.lib”。

当我用谷歌搜索这些错误时,我只在 mail.pythong.org 找到一个对话:http: //www.groupsrv.com/computers/about397568.html

我尝试在 pythoncore 项目中删除前处理器定义“_USRDLL”,但错误仍然相同。

pythoncore中的预处理器定义是:

当我单击编辑时,我在另一个框中看到“继承的值”,它们是:

那个Ndebug很奇怪,因为我把模式改成了Release。

我正在使用安装了所有服务包的 Visual Studio 2008(不是 Express)。

顺便提一句。早些时候我尝试构建整个解决方案,但有一些关于丢失文件的错误,其路径以:“../../dba-”开头。


我尝试编译 2.6.2 和 2.6.6 版本的 Python,但它们都抛出相同的错误:pythoncore.lib(sysmodule.obj) : error LNK2019: unresolved external symbol

0 投票
2 回答
464 浏览

c - PyFile_Type 替换为 ..?

我很想为 Python 3.2 编译Yenc。我注意到 gcc 抱怨了一个未声明的函数,所以我根据文档PyString_Type将其替换为替换。PyBytes_Type

然而,gcc 也抱怨了一个名为PyFile_Type. 我google了一下,发现:

资源

我绝不是 C 程序员,这让我无法解决这个问题。我应该怎么做才能解决这个问题?

编辑:编译的输出_yenc.c

谢谢!

0 投票
2 回答
213 浏览

python - 这是 str.format 上的 Python 3 错误吗?

不会导致 'INSERT INTO Product' 但仍然是 'INSERT INTO {}' 为什么会这样?

0 投票
1 回答
196 浏览

python - 如何在 CPython 2.7.2 中停用方法缓存?

我正在尝试实现我自己的方法缓存。为此,首先我想禁用在 CPython 2.7.2 中实现的现有方法缓存,因为我还想在没有此方法缓存的情况下对 CPython 进行基准测试。

我一直在研究代码,并在“typeobject.c”文件中找到了一些方法缓存代码:

据我了解,如果方法不在方法缓存中,则遍历 MRO。我只是想以最干净的方式停用整个方法缓存。有什么建议么?:)

安东尼奥

0 投票
2 回答
1086 浏览

python - Python 3 的长生不老药?

尽管我已成功安装 SqlAlchemy 0.7.3,但我在使用 Python 3 安装 Elixir 时遇到问题?我试过谷歌,但我失去了希望。真的有适用于 Python 3 的 Elixir 版本吗?提前致谢。

0 投票
1 回答
341 浏览

python - Python Elixir OneToMany 和 ManyToOne 实现:关于插入具有 OneToMany 关系的新记录?

如何在 Python Elixir 中插入具有一对多关系的记录?请参阅下面的代码。

0 投票
1 回答
294 浏览

python - 是否可以从 cPython 运行 PowerShell 和 Active Directory 命令?

我有 2 个关于 cPython(但不是 IronPython)的问题:

  1. 是否可以从 cPython 运行 PowerShell 命令?
  2. 是否可以从 cPython 运行 Active Directory 命令?