首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将模块从一个python安装导入另一个python

将模块从一个python安装导入另一个python
EN

Stack Overflow用户
提问于 2018-03-09 02:12:56
回答 1查看 126关注 0票数 1

我在Ubuntu 16.04 LTS下。

我有两个蟒蛇装置。我实际上是通过pvpython使用它们的,但这可能与当前的问题无关。这些版本是:

  1. Python2.7.12,安装在apt-get中,驻留在系统dirs中。
  2. Python2.7.11驻留在~/apps/ParaView-5.4.1-Qt5-OpenGL2-MPI-Linux-64bit中,它只是从tar文件中展开。为了获得python提示符,我运行~/apps/ParaView-5.4.1-Qt5-OpenGL2-MPI-Linux-64bit/bin/pvpython

我的意思是在第2版中使用版本1中的readline (因为它没有自己的,尽管它可能很奇怪)。为此,请执行以下操作:

  1. 在第1版中查找readline在哪里:导入读行'/usr/lib/python2.7/lib-dynload/readline.x86_64-linux-gnu.so‘>>> readline.__file__ readline.__file__
  2. 在遵循this的版本2中使用它。我把需要的东西放在一个目录dir1中,它是sys.path的一个元素(我尝试了/home/santiago/apps/ParaView-5.4.1-Qt5-OpenGL2-MPI-Linux-64bit/lib/python2.7/home/santiago/apps/ParaView-5.4.1-Qt5-OpenGL2-MPI-Linux-64bit/lib/python2.7/lib-dynload)。 2.1。获取.so文件。 $ cd dir1 $ ln -s -s 2.2。创建readline.py $ nano readline.py 包含内容(根据ref above): def __bootstrap():__bootstrap,__loader__,__file__ import sys,pkg_resources,imp __file__ = pkg_resources.resource_filename(__name__,'readline.x86_64-linux-gnu.so') __loader__ = None;del __bootstrap,__loader__ imp.load_dynamic(__name__,__file__) __bootstrap()

现在,当我在~/apps/ParaView-5.4.1-Qt5-OpenGL2-MPI-Linux-64bit/bin/pvpython中使用版本2时,我仍然会得到错误(这是我想要消除的)。

代码语言:javascript
复制
ImportError: No module named readline

来自我~/.pythonrc中的一个~/.pythonrc

如何将读行从版本1导入到版本2?

EN

回答 1

Stack Overflow用户

发布于 2018-03-09 14:40:28

我设法解决了这个问题。关键是链接到名称readline.so,而不是原始名称。其余的都无关紧要。

在“任择议定书”第2.1段:

代码语言:javascript
复制
$ cd ~/apps/ParaView-5.4.1-Qt5-OpenGL2-MPI-Linux-64bit/lib/python2.7/lib-dynload
$ ln -s /usr/lib/python2.7/lib-dynload/readline.x86_64-linux-gnu.so readline.so

就是这样。事实证明,readline.py__bootstrap (项目2.2)是不需要的。

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

https://stackoverflow.com/questions/49185598

复制
相关文章

相似问题

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