【问题标题】:Python module InstallingPython 模块安装
【发布时间】:2025-12-07 18:40:01
【问题描述】:

我写了这个命令来安装 NLTK python 模块:

sudo pip install -U nltk

第一次它似乎运行良好,但当我想测试它时,它没有。所以我重写了命令然后我得到了

The directory '/Users/apple/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.

我尝试了所有可能的 chown 命令,但我不知道我还能做些什么。我使用 Mac OS X 10.9.5。

【问题讨论】:

  • 我安装了它,但是当我想创建一个像 virtualenv corpus 这样的环境时,它说 -bash: virtualenv: command not found
  • 请参阅我的答案以获得指导。
  • @starckman 请发布您遇到的问题,表明您在sudo pip install -U nltk 的初始尝试没有正常工作。

标签: python import module pip sudo


【解决方案1】:

您需要创建一个virtualenv 来安装 Python 包。这避免了在机器上全局安装它们的需要(并且通常使安装模块不那么痛苦)。我们还将添加virtualenvwrapper 以使事情变得更容易。

步骤是用pip安装virtualenvvirtualenvwrapper

pip install virtualenv virtualenvwrapper

这可能需要sudo - 如果需要,只需sudo pip install virtualenv virtualenvwrapper

将以下行添加到您的~/.bashrc

# Add WORKON_HOME to be the location of all virtual environments
export WORKON_HOME=~/Envs
# Gives us `workon` and `deactivate`
source /usr/local/bin/virtualenvwrapper.sh

来源您的~/.bashrc

. ~/.bashrc

接下来,创建虚拟环境。我一般称它为venv

mkvirtualenv venv

现在您将希望在该虚拟环境中 进行工作。为此,您需要发出workon

workon venv

现在你可以像平常一样安装你的包了。

pip install nltk
...

完成工作后,只需 deactivate 你的 virtualenv。

deactivate

下次您想工作时,只需再次发出workon venv,您的所有模块仍将与该虚拟环境相关联。

【讨论】:

  • 我安装了它,现在出现了问题,导出命令似乎也可以工作,但是当我执行 source /usr/local/bin/virtualenvwrapper.sh 时,我得到的是命令而不是文件。我验证了,里面没有virtualenvwrapper.sh。 virtualenv.py 和所有其他文件都存在于 Library/Python/2.7/..../
  • 你是用pip install virtualenvwrapper安装的吗?
  • 它说要求已经满足(使用 --upgrade 升级):/Users/apple/Library/Python/2.7/lib/python/site-packages 中的 virtualenv。但是在这个目录下只有 virtualenv-13.1.2.dist-info virtualenv.py virtualenv.pyc virtualenv_support
  • 复制并粘贴我写的内容,它会起作用。 virtualenvvirtualenvwrapper 是有区别的。
  • 请仔细阅读我的回答。如果有任何不清楚的地方,请询问。