我是新手,我的项目需要pySerial和feedparser模块。我在跑美洲狮。
我遵循了以下教程,以便可以升级到python 2.7.3,然后使用上述模块。
http://hackercodex.com/guide/python-virtualenv-on-mac-osx-mountain-lion-10.8/
我按照本教程进行操作,直到安装了pip。而不是安装Virtualenv。我使用以下命令安装pySerial和feedparser
1
2
3$ pip install pySerial
Requirement already satisfied (use --upgrade to upgrade): pySerial in /Library/Python/2.7/site-packages
Cleaning up...
我以为这已经存在并进行了检查。 Python似乎可以很好地导入了。自从我按照教程中所述使用homebrew安装它以来,我的python版本已升级到2.7.3 btw。
然后我尝试安装feedparser
1
2
3$ pip install feedparser
Requirement already satisfied (use --upgrade to upgrade): feedparser in /usr/local/lib/python2.7/site-packages
Cleaning up...
注意它在usr / local / lib中的site-packages目录中的情况。
我所有的pip安装都安装在该目录中,但是当我尝试导入它们时,python似乎并没有选择它们。
如何设置路径,以便python以及核心目录也在那里?
对你的帮助表示感谢。
我试图在这里寻找答案:
点安装,但找不到模块
为什么在使用pip和/或easy_install安装python 2.7之后无法在Mac上使用Python 2.7导入beautifulsoup?
但是他们中的任何一个都和我一样处于同样的境地。我不明白为什么会这样,因为我使用以下命令编辑了bash_profile
1
2
3
4
5
6# Set architecture flags
export ARCHFLAGS="-arch x86_64"
# Ensure user-installed binaries take precedence
export PATH=/usr/local/share/python:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
# Load .bashrc if it exists
test -f ~/.bashrc && source ~/.bashrc
然后安装homebrew,然后通过homebrew安装python 2.7.3(2.7.3当前正在我的计算机上运行)
我认为所有pip安装都可以正确链接?
作为一种快速的解决方法,并假设您使用的是类似bash的终端(Linux / OSX),则可以尝试导出PYTHONPATH环境变量:
1export PYTHONPATH="${PYTHONPATH}:/usr/local/lib/python2.7/site-packages:/usr/lib/python2.7/site-packages"
对于Python 2.7
这个对我有用。 您能对此做一个简短的解释吗? 谢谢
没有为我工作。
这是我在安装了多个版本的Python后长时间遇到pip问题后才学到的东西(特别是对于OS X用户(可能正在使用brew安装python blends)有效)。
我假设大多数python开发人员确实在其脚本的开头:
1#!/bin/env python
您可能会惊讶地发现,这与您从命令行>python运行的python不一定相同
为了确保您使用正确的pip实例为python解释器安装软件包,您需要运行以下命令:
1>/bin/env python -m pip install --upgrade mymodule
真棒。 这解决了我的问题。
我认为您的意思是OSX的usrbinenv
我也有这个问题。我注意到/usr/local/lib/python2.7/dist-packages/下的所有子目录和文件都没有对group和other的读取或写入权限,它们是由root拥有的。这意味着只有root用户可以访问它们,因此任何试图运行使用以下任何模块的Python脚本的用户都将遇到导入错误:
1
2
3
4
5
6
7
8
9$ python
Python 2.7.3 (default, Apr 10 2013, 06:20:15)
[GCC 4.6.3] on linux2
Type"help","copyright","credits" or"license" for more information.
>>> import selenium
Traceback (most recent call last):
File"", line 1, in
ImportError: No module named selenium
>>>
我授予了对文件的读取权限,并授予了group等子目录的搜索权限,如下所示:
1$ sudo chmod -R go+rX /usr/local/lib/python2.7/dist-packages
这为我解决了问题:
1
2
3
4
5
6$ python
Python 2.7.3 (default, Apr 10 2013, 06:20:15)
[GCC 4.6.3] on linux2
Type"help","copyright","credits" or"license" for more information.
>>> import selenium
>>>
我使用pip安装了这些软件包(使用sudo以root身份运行)。我不确定为什么它在不授予读取/搜索权限的情况下安装了它们。对我来说,这似乎是一个小问题,或者可能是在软件包配置中,但是我对Python及其模块包装不是很熟悉,所以我不 FWIW,在dist-packages下的所有软件包都存在此问题。无论如何,希望能有所帮助。
问候。
没有其他解决方案对我有用,因此我尝试:
1pip uninstall && pip install
这就为我解决了。你的旅费可能会改变。
以下步骤可帮助我解决此问题。
升级点子版本
使用命令rm -rf env-name删除创建的环境
使用命令python3 -m venv env-aide创建环境
现在安装软件包并检查
为了使任何人也可以在Windows环境中使用Visual Studio:
我意识到我运行pip install时可以看到模块已安装
1
2py pip install [moduleName]
py pip list
但是,在Visual Studio中进行调试时得到"找不到模块"。奇怪的是,当我在Powershell中运行解释器时,我已成功运行import [moduleName]。
原因:
visual studio在以下位置使用了错误的解释器:
C:\Users\[username]\AppData\Local\Programs\Python\Python37\
我真正想要的是Visual Studio使用我为项目设置的virtualenv。为此,请在"解决方案资源管理器"中右键单击" Python环境",选择"添加虚拟环境...",然后选择在其中创建虚拟环境的文件夹。
然后,在项目设置下的"常规"选项卡下,在下拉列表中选择您的虚拟环境。
现在,Visual Studio应该使用相同的解释器,并且一切都应该播放得很好!
如果您的python和pip二进制文件来自不同版本,则使用pip安装的模块将不适用于python。
解决步骤:
在默认环境下打开一个新的终端,并找到pip和python的二进制文件。
1
2
3
4
5
6
7
8readlink $(which pip)
../Cellar/python@2/2.7.15_1/bin/pip
readlink $(which python)
/usr/local/bin/python3 <-- another symlink
readlink /usr/local/bin/python3
../Cellar/python/3.7.2/bin/python3
在本例中,您可以看到版本2.7.15_1和3.7.2之间明显的不匹配。
将pip symlink替换为与您当前的python版本匹配的pip二进制文件。在以下命令中使用您的python版本。
1ln -is /usr/local/Cellar/python/3.7.2/bin/pip3 $(which pip)
如果目标存在,-i标志会提示您覆盖。
这应该够了吧。
对我来说,问题是我在文件pydistutils.cfg中有奇怪的配置设置
尝试跑步
rm ~/.pydistutils.cfg
您如何安装easy_install / pip?确保为python的升级版本安装了它。这里可能发生的是,旧的(默认)python安装可能链接到您的pip安装。您可能想尝试运行默认版本并导入新安装的模块。