如何对Python进行故障排除;找不到与平台无关的库<;前缀>&引用;

如何对Python进行故障排除;找不到与平台无关的库<;前缀>&引用;,python,path,importerror,Python,Path,Importerror,我正在尝试使用Fontcustom来创建一个使用svg文件和fontforge的图标字体。我在OSX上。然而,每当我运行程序时,我都会得到错误 Could not find platform independent libraries <prefix> Could not find platform dependent libraries <exec_prefix> Consider setting $PYTHONHOME to <prefix>[:<e

我正在尝试使用Fontcustom来创建一个使用svg文件和fontforge的图标字体。我在OSX上。然而,每当我运行程序时,我都会得到错误

Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
ImportError: No module named site`
找不到与平台无关的库
找不到与平台相关的库
考虑将$PythONHOLD设置为[:]
ImportError:没有名为site的模块`
作为一名Python/Unix新手,我甚至不知道从哪里开始尝试解决这个问题。有人能提供一些建议吗?
指的是什么


当我键入
python--version
时,我得到
python2.7.1
。在/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7目录中,有一个很大的模块列表,site.py肯定在该文件夹中。如何让我的计算机找到模块?

试试
导出PYTHONHOME=/usr/local
。Python应该安装在OSX上的
/usr/local

这个答案得到了比我预期的更多的关注,我将添加更多的上下文

通常,Python在路径
prefix/lib
exec\u prefix/lib
中查找其库,其中
prefix
exec\u prefix
是配置选项。如果设置了
PYTHONHOME
环境变量,则
prefix
exec\u prefix
的值将从中继承。如果未设置
PYTHONHOME
环境变量,则
prefix
exec\u prefix
默认为
/usr/local
(我相信还有其他方法可以设置
prefix
/
exec\u prefix
,但我并不完全熟悉它们)


通常,当您收到错误消息
找不到与平台无关的库
,字符串
将替换为
前缀
的实际值。但是,如果
prefix
的值为空,那么您将得到问题中发布的相当隐晦的消息。获取空
前缀的一种方法是将
PYTHONHOME
设置为空字符串。有关
PYTHONHOME
prefix
exec\u prefix
的详细信息,请访问。

将PYTHONHOME更改为python的bin文件的父文件夹,如/usr,它是/usr/bin的父文件夹。

我遇到了这个问题,花了几个小时试图解决它。我通过更改路径修复了前缀错误,但仍然存在编码导入错误。这是通过重新启动我的计算机修复的。

如果您创建了虚拟环境,然后删除了python安装,您将得到相同的错误。只要
rm-r
你的venv文件夹,然后用一个有效的python位置重新创建它,然后执行
pip install-r requirements.txt
你就可以全部设置好了(假设你的requirements.txt正确)。

我的Pyce也有同样的错误,很容易修复,如果有人有这个错误,只需卸载并删除该文件夹,使用
ctrl+h
如果在文档中找不到该文件夹,请重新安装该软件,并应重新运行


记得在删除pycharm文件夹之前保存Scratchs文件夹。

我在Opensuse linux上使用随
sudo make altinstall安装的Python时遇到了这个问题。编译后的库似乎安装在
/usr/local/lib64
中,但Python正在
/usr/local/lib
中查找它们

我通过在
/usr/local/lib

sudo ln -s /usr/local/lib64/python3.8/lib-dynload/ /usr/local/lib/python3.8/lib-dynload

我认为更好的做法是指定
libdir
作为
configure
的参数(在构建过程开始时),但我没有这样做


编辑:可以确认
/configure--libdir=/usr/local/lib
工作正常,可能比创建链接要好。

您使用的是virtualenv吗?在macOS x更新到Catalina后,我在macOS x中遇到了类似的错误。“ModuleNotFoundError:没有名为‘encodings’的模块”我遇到了类似的错误,但那是因为我没有正确设置Python路径。当我将我的服务器从Ubuntu14.04 LTS升级到Ubuntu16.04 LTS时,这个设置消除了错误。我还必须解决这个问题:
cd
然后
pipenv shell
然后
pipenv--venv
1。我知道上面的内容,但不知道在哪里?二,
pipenv
给了我:
zsh:command not found:pipenv
如果我使用两种不同的virtualNV,我该怎么办:一种用于Python 2.7,另一种用于Python 3.6?这确实解决了我的问题。我还移动了文件libpython3.8.a和pkgconfig文件夹,如下所述