编辑:我在这里问了一个相反的问题:如何将Python3嵌入标准库

此处提供了针对Python2的解决方案:是否可以在没有标准库的情况下嵌入python?

但是,Python3在PYTHONPATH上失败,原因是:

Fatal Python error: Py_Initialize: unable to load the file system

codec ImportError: No module named 'encodings'

这是有道理的,因为py3源文件默认为utf-8。 因此,似乎只需要外部二进制文件即可解析py3源文件。

那么该怎么办?

看来我需要在系统Python安装中找到PYTHONPATH二进制文件,并将其复制到项目树中,并可能设置一些环境变量PYTHONPATH(?),以便我的libpython.dylib可以找到它。

有可能避免这种情况吗? 如果不是,那么任何人都可以澄清我需要采取的步骤吗? 还会有更多的打?吗?

注意:为了后代,这是我如何将独立的libpython.dylib链接到OSX上的项目:

首先,找到系统Python的库:PYTHONPATH(在我的情况下,它是通过自制软件安装的)。

现在我:

将.dylib复制到创建PYTHONPATH的项目文件夹中

进入PYTHONPATH并将PYTHONHOME设置为../Frameworks

此时,它似乎可以正常工作。 但是,如果您知道尝试在全新的OSX安装上构建它,它将失败。 这是因为:

$ otool -D ./libpython3.4.1_OSX.dylib

./libpython3.4.1_OSX.dylib:

/usr/local/Frameworks/Python.framework/Versions/3.4/Python

.dylib仍保留其旧位置。 我真的很奇怪,.dylib包含一个指向其位置的链接,因为使用它的任何人都必须知道它在哪里才能首先调用它!

我们可以通过以下方法纠正此问题:

$ install_name_tool -id @rpath/libpython3.4.1_OSX.dylib libpython3.4.1_OSX.dylib

但是,在我们的Xcode项目中,还必须:

进入PYTHONPATH。添加PYTHONHOME步骤,将../Frameworks复制到Frameworks(在正确的位置放置)。

进入PYTHONPATH并将PYTHONHOME设置为../Frameworks

最后,我需要进入PYTHONPATH并添加值为../Frameworks的PYTHONHOME

我怀疑要使其正常工作,我还需要添加PYTHONPATH

链接:

[https://mikeash.com/pyblog/friday-qa-2009-11-06-linking-and-install-names.html]

[http://qin.laya.com/tech_coding_help/dylib_linking.html]

[https://github.com/conda/conda-build/issues/279#issuecomment-67241554]

您能否帮助我了解Mach-O库如何在Mac Os X中工作?

[http://nshipster.com/launch-arguments-and-environment-variables/]

python没有库_python-嵌入没有标准库的Python3相关推荐

  1. C标准库“圣经”:C标准库

    C标准库"圣经":C标准库 [作 者](美)P.J.Plauger [同作者作品] [作译者介绍]  [译 者] 卢红星;徐明亮;霍建同[同译者作品]  [丛 书 名] 图灵程序设 ...

  2. python的input()函数与getpass标准库

    1. input()函数给我们提供了从键盘输入数据的途径,我们经常用这个函数来读入用户名等一些可以明文显示的数据.但是对于像密码这样的要密文显示的场景,这个函数就显得不安全了.因此python也给我们 ...

  3. python如何扩展库_python的常用扩展库以及使用方式

    一.常用库(标准库+扩展库) 标准库 说明 math 数学模块 random 随机数以及随机化相关模块 datetime 日期时间模块 ​collections 包含更多扩展性序列的模块 functo ...

  4. python解析库_Python命令行解析库argparse

    原博文 2014-08-13 05:48 − 2.7之后python不再对optparse模块进行扩展,python标准库推荐使用argparse模块对命令行进行解析. 1.example 有一道面试 ...

  5. python守护进程进程池_Python3标准库:multiprocessing像线程一样管理进程

    Python Python开发 Python语言 Python3标准库:multiprocessing像线程一样管理进程 1. multiprocessing像线程一样管理进程 multiproces ...

  6. Python学习笔记011_模块_标准库_第三方库的安装

    容器 -> 数据的封装 函数 -> 语句的封装 类 -> 方法和属性的封装 模块 -> 模块就是程序 , 保存每个.py文件 # 创建了一个hello.py的文件,它的内容如下 ...

  7. python学习笔记(十)标准库pprint

    引用的方式 不仅使标准库的模块,所有模块都服从下述引用方式. 最基本的.也是最常用的,还是可读性非常好的: import modulename 例如: >>> import ppri ...

  8. python自然语言处理库_Python自然语言处理工具库(含中文处理)

    自然语言处理(Natural Language Processing,简称 NLP),是研究计算机处理人类语言的一门技术.随着深度学习在图像识别.语音识别领域的大放异彩,人们对深度学习在 NLP 的价 ...

  9. python 排列组合_Python计算生态jieba库和random库的综合运用之爬山篇

    本篇文章会利用python语言中的第三方库jieba库和标准库random库来对文件中的相关元素进行操作. 实践中文片段:"今天是个好天气,大家一起去爬山."该句子分为上下两部分, ...

最新文章

  1. 使用XML在MSSQL把字串分解
  2. ML基础 : 训练集,验证集,测试集关系及划分 Relation and Devision among training set, validation set and testing set...
  3. ggsurvplot图片输出
  4. Goods:图书模块按分类查询各层实现
  5. 学习Python语言 基础语法:变量的基本使用
  6. hbase查询语句_Sqoop实操|Sqoop导入Parquet文件Hive查询为null问题
  7. Mac 访达之下方显示
  8. 【PAT甲级 约会】1061 Dating (20 分) C++ 全部AC
  9. 2014/11/4~2014/12/20阶段性目标
  10. CCF农产品价格预测-复赛rank2代码公布
  11. DPDK - 使用 cmake 构建l2fwd多平台编译系统
  12. 访问无偏移的谷歌地图——工具篇
  13. 3850x5服务器装系统,System x 3850 X5 系统安装测试报告
  14. “配置系统未能初始化” 异常解决
  15. 【人工智能】动物、植物、车型、菜品、LOGO识别示例代码
  16. Matlab版本svm工具箱,matlab libsvm工具箱
  17. 魔兽世界怀旧服服务器显示地图,魔兽世界怀旧服:1-60级地图任务路线大全,快来拿走收藏!部落篇...
  18. python有像sumif的函数吗_最全的SUMIF函数用法,小白秒变老司机
  19. Java 标准输入输出流(System.in,System.out)使用
  20. kernel panic - not syncing : fatal exception

热门文章

  1. 在保护继承中基类的共有成员_C++面向对象:C++ 继承
  2. 微信公众号Web页面CSS文件里面的样式不加载
  3. 源码编译altas mysql_Atlas的安装
  4. 全局声明宏定义_C++模拟面试:宏、lambda、智能指针闲谈
  5. openlayers3 根据经纬度 自动画框_自动驾驶定位为什么少不了惯性导航?
  6. java二叉树求权值_百度笔试题目:二叉树路径权值和【转】
  7. IPLATUI----GRID删除
  8. java 父类返回子类是咧_【daily】Java泛型 - 返回父类的子类
  9. python日期格式转换成13位时间戳_python生成13位或16位时间戳以及反向解析时间戳的实例...
  10. application实现网页计数_手把手教你利用爬虫爬网页(Python代码)