gpt4 book ai didi

python - 可能存在冲突的 python 安装

转载 作者:太空狗 更新时间:2023-10-29 17:31:37 25 4
gpt4 key购买 nike

我不确定默认的 python 安装是否是我一直在安装模块的那个,以及这是否可能是导致 Unicode 字节大小兼容性错误冲突的原因。简而言之,我已经使用 Python 2.7.3 安装了 Numpy 1.7,当我尝试安装使用 Python 和 Numpy 作为依赖项的其他程序时,出现此错误:

Traceback (most recent call last):
File "setup.py", line 20, in <module>
from weblogolib import __version__
File "/home/chris/Documents/IS/Bioinformatics-Software/weblogo-3.3/weblogolib/__init__.py", line 108, in <module>
from numpy import array, asarray, float64, ones, zeros, int32,all,any, shape
File "/usr/lib/python2.7/dist-packages/numpy/__init__.py", line 137, in <module>
import add_newdocs
File "/usr/lib/python2.7/dist-packages/numpy/add_newdocs.py", line 9, in <module>
from numpy.lib import add_newdoc
File "/usr/lib/python2.7/dist-packages/numpy/lib/__init__.py", line 4, in <module>
from type_check import *
File "/usr/lib/python2.7/dist-packages/numpy/lib/type_check.py", line 8, in <module>
import numpy.core.numeric as _nx
File "/usr/lib/python2.7/dist-packages/numpy/core/__init__.py", line 5, in <module>
import multiarray
ImportError: /usr/lib/python2.7/dist-packages/numpy/core/multiarray.so: undefined symbol: PyUnicodeUCS4_AsUnicodeEscapeString

所以我想我的 unicode 字节大小存在冲突(2 字节与 4 字节)。我去检查我是否有可能导致困惑的 Python 版本冲突。

python --version
Python 2.7.3

但这似乎与

which python
/usr/local/bin/python

当我转到 /usr/local/bin 时,我找到了这些文件(与 python 相关):

python
python2
python2.7
python-config
python2-config
python2.7-config

现在我已经将 numpy 安装到 /usr/lib/python2.7/dist-packages 的 dist-packages 目录中,这对应于我为 python --version< 获得的内容。但是,当我尝试 which python 并获取 python 而不是 python2.7 的目录时,我担心这可能会与我发生冲突尝试安装使用 python 和 numpy 作为依赖项的程序。

所以我想澄清我的问题:这些普通文件是为 python 安装找到的,还是我以某种方式安装了三个不同的版本?他们会不会用无法识别的符号导致我的错误?如果它们确实是无关的版本,有没有办法卸载?

感谢您提供的任何帮助!

哦,这是我之前遇到的一个问题的链接,我在其中编辑了 PYTHONPATH,同时尝试修复我遇到的 ImportError,如果这可能会影响事情...... ImportError: No module named numpy

以下是尝试 virtualenv 的结果:

chris@ubuntu:~/Documents/IS/Bioinformatics-Software$ virtualenv weblogo-3.3
New python executable in weblogo-3.3/bin/python
Installing setuptools.............done.
Installing pip...............done.
chris@ubuntu:~/Documents/IS/Bioinformatics-Software$ cd weblogo-3.3
chris@ubuntu:~/Documents/IS/Bioinformatics-Software/weblogo-3.3$ source bin/activate
(weblogo-3.3)chris@ubuntu:~/Documents/IS/Bioinformatics-Software/weblogo-3.3$ pip install numpy
Requirement already satisfied (use --upgrade to upgrade): numpy in /usr/lib/python2.7/dist-packages
Cleaning up...

最佳答案

问题确实似乎是 Python 和 Numpy 的编译设置不匹配。

/usr/local/bin 是安装自定义 Python 的地方,您应该尝试使用/usr/bin/python 来运行。

另一种解决方案是使用 virtualenv。试试这个:

virtualenv myproject
cd myproject
source bin/activate
pip install numpy

基本上,virtualenv 在“myproject”目录中使用它自己的包设置了不同的 Python 安装。运行“激活”命令会告诉系统您要使用此安装而不是默认系统。这使您可以为不同的项目提供不同的 Python 环境。使用 virtualenv,每个项目都可以拥有自己的 Python 包版本,即使它们与其他项目或系统包不兼容。

请注意,每次您打开一个新的 shell 并想要使用该虚拟环境时,您都必须重复“source”命令。此外,您可能必须使用操作系统包管理器安装 virtualenv 命令。如果这不可能(例如,您没有 root 访问权限)或者您的操作系统版本由于某种原因太旧,您也可以从 https://pypi.python.org/packages/source/v/virtualenv/ 手动下载它。

如果你执行 ls -l/usr/local/bin/python* 你应该看到 python 和 python2 实际上是 python2.7 的符号链接(symbolic link),同样 python-config 和 python2-config 是 python2.7-config 的符号链接(symbolic link).

关于python - 可能存在冲突的 python 安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15403273/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com