Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 未找到符号:\ uuu PyCodecInfo\u GetIncrementalDecoder_Python_Python 2.7_Pycharm_Setuptools - Fatal编程技术网

Python 未找到符号:\ uuu PyCodecInfo\u GetIncrementalDecoder

Python 未找到符号:\ uuu PyCodecInfo\u GetIncrementalDecoder,python,python-2.7,pycharm,setuptools,Python,Python 2.7,Pycharm,Setuptools,自从从自制Python 2.7.11(从2.7.10)进行更新以来,我突然无法从PyCharm IDE控制台在PyPi上测试注册我的包 运行(作为“外部工具”) 我现在明白了 Traceback (most recent call last): File "setup.py", line 22, in <module> from setuptools import setup File "/usr/local/lib/python2.7/site-packages/s

自从从自制Python 2.7.11(从2.7.10)进行更新以来,我突然无法从PyCharm IDE控制台在PyPi上测试注册我的包

运行(作为“外部工具”)

我现在明白了

Traceback (most recent call last):
  File "setup.py", line 22, in <module>
    from setuptools import setup
  File "/usr/local/lib/python2.7/site-packages/setuptools/__init__.py", line 12, in <module>
    from setuptools.extension import Extension
  File "/usr/local/lib/python2.7/site-packages/setuptools/extension.py", line 8, in <module>
    from .dist import _get_unpatched
  File "/usr/local/lib/python2.7/site-packages/setuptools/dist.py", line 16, in <module>
    from setuptools.depends import Require
  File "/usr/local/lib/python2.7/site-packages/setuptools/depends.py", line 6, in <module>
    from setuptools import compat
  File "/usr/local/lib/python2.7/site-packages/setuptools/compat.py", line 17, in <module>
    import httplib
  File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 80, in <module>
    import mimetools
  File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/mimetools.py", line 6, in <module>
    import tempfile
  File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/tempfile.py", line 32, in <module>
    import io as _io
  File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/io.py", line 51, in <module>
    import _io
ImportError: dlopen(/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.so, 2): Symbol not found: __PyCodecInfo_GetIncrementalDecoder
  Referenced from: /usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.so
  Expected in: flat namespace
 in /usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.so

Process finished with exit code 1
回溯(最近一次呼叫最后一次):
文件“setup.py”,第22行,在
从设置工具导入设置
文件“/usr/local/lib/python2.7/site-packages/setuptools/_-init___.py”,第12行,在
从setuptools.extension导入扩展
文件“/usr/local/lib/python2.7/site packages/setuptools/extension.py”,第8行,在
从.dist导入\u获取\u取消修补
文件“/usr/local/lib/python2.7/site packages/setuptools/dist.py”,第16行,在
从setuptools.dependens导入所需
文件“/usr/local/lib/python2.7/site packages/setuptools/depends.py”,第6行,在
从setuptools导入compat
文件“/usr/local/lib/python2.7/site packages/setuptools/compat.py”,第17行,在
导入httplib
文件“/usr/local/ceral/python/2.7.11/Frameworks/python.framework/Versions/2.7/lib/python2.7/httplib.py”,第80行,在
进口美托尔
文件“/usr/local/ceral/python/2.7.11/Frameworks/python.framework/Versions/2.7/lib/python2.7/mimetools.py”,第6行,在
导入临时文件
文件“/usr/local/ceral/python/2.7.11/Frameworks/python.framework/Versions/2.7/lib/python2.7/tempfile.py”,第32行,在
将io作为_io导入
文件“/usr/local/ceral/python/2.7.11/Frameworks/python.framework/Versions/2.7/lib/python2.7/io.py”,第51行,在
导入
ImportError:dlopen(/usr/local/cillar/python/2.7.11/Frameworks/python.framework/Versions/2.7/lib/python2.7/lib-dynload//u io.so,2):未找到符号:uu PyCodecInfo\u GetIncrementalDecoder
引用自:/usr/local/ceral/python/2.7.11/Frameworks/python.framework/Versions/2.7/lib/python2.7/lib-dynload//u io.so
应为:平面命名空间
在/usr/local/ceral/python/2.7.11/Frameworks/python.framework/Versions/2.7/lib-dynload//u io.so中
进程已完成,退出代码为1
我不知道如何进行。我只有在IDE的控制台中执行时才会遇到这个问题。如果我直接在系统命令行(OSX上的终端)执行此操作,我就没有问题


OS X 10.11.3;自制Python 2.7.11;PyCharm 5.0.3符合以下要求:

我有同样的问题,但成功地解决了。就我而言,我编译了 在指定python_路径并 设置为我的一个开发环境,在那里我还有一些库, 包括木卫一。解决方法很简单:打开新的终端,确保 您没有自定义PYTHON_路径,请卸载PYTHON,卸载vim。 重新安装它们

问题解决了

罪魁祸首是从python 2.7.10到2.7.11的更新

如果您使用的是conda软件包控件,只需运行“conda安装” python=2.7.10“将解决此问题

但这并没有给出根本原因。由于这种情况发生在
\u io
上,这看起来像是python 2.7.11中的一个bug(不太可能,如果是的话,可能会有世界范围的抗议和提示修复),或者是一些打包bug或版本与自制版本不匹配(也可能是一些相关的)


尝试在控制台中导入io,如果成功,请检查是否从同一路径加载。

我也有同样的问题,只需替换io.so文件即可成功修复

sudo find / -name _io.so
复制不属于python-2.7.11的
\u io.so
文件的路径。例如,复制python-2.7.5下的_io.so的路径: /usr/local/ceral/python/2.7.5/Frameworks/python.framework/Versions/2.7/lib/python2.7/lib-dynload//u io.so


/usr/local/ceral/python/2.7.11/Frameworks/python.framework/Versions/2.7/lib/python2.7/lib dynload/_io.so
文件替换为您刚刚找到的
_io.so
;dr:通过执行以下操作之一修复此问题:

  • 键入hash-rpython,或
  • 注销并登录
编辑:我的问题的答案清楚地说明了这里发生了什么。安装新版本的python时,可能需要运行
hash-rpython
来告诉bash将“缓存”位置重置为
python
可执行文件

在我的例子中,我输入了
python
,它位于
/usr/local/bin/python
$PATH
上。但是
bash
仍在使用旧的缓存位置
/usr/bin/python
。因此,调用了旧的可执行文件,但在
sys.argv[0]
中为python提供了new路径。这意味着旧的可执行文件正在运行,但新的
sys.executable
值导致加载所有错误的模块(包括
io
模块)


我也有同样的问题。我通过python.org上的安装程序安装了python2.7.11。奇怪的是,当我使用完整路径从shell调用OSX时,OSX如何启动
python
与仅使用
python
这个词时,这个问题似乎与这两者之间的细微差别有关

因此,对我来说,这是可行的(通过完整路径调用python
/usr/local/bin/python
):

。。。但这并不是:

$ python -c "import io"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/io.py", line 51, in <module>
    import _io
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.so, 2): Symbol not found: __PyCodecInfo_GetIncrementalDecoder
  Referenced from: /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.so
  Expected in: flat namespace
 in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.so
$python-c“导入io”
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/io.py”,第51行,在
导入
ImportError:dlopen(/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload//\u io.so,2):未找到符号:\uu PyCodecInfo\u GetIncrementalDecoder
引用自:/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload//u io.so
应为:平面命名空间
在/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload//u io.so中
因此,作为一种解决方法,您可以尝试做同样的事情

在其他地方,我发布了一篇关于这种令人费解的行为的文章。也许我
$ which python
/usr/local/bin/python
$ /usr/local/bin/python -c "import io"
$
$ python -c "import io"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/io.py", line 51, in <module>
    import _io
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.so, 2): Symbol not found: __PyCodecInfo_GetIncrementalDecoder
  Referenced from: /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.so
  Expected in: flat namespace
 in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload/_io.so
brew unlink python && brew reinstall python
export PYTHONPATH=$PYTHONPATH:/usr/local/bin/
sudo nano /etc/paths
#sudo nano /etc/paths
  /usr/bin  
  /usr/local/bin
  /bin
  /usr/sbin
  /sbin
$ which python
    /usr/local/bin/python
$ /usr/local/bin/python -c "import io"
$ python -c "import io"
export PATH="//anaconda/bin:$PATH
virtualenv venv --python=/usr/bin/python