sil*_*der 6 python numpy pandas
我有一个包含多个项目的大型解决方案。我用virtualenv这个。因此,对于解决方案中的一个项目,我已经安装了我需要的东西,包括numpy和pandas
但是当我执行类似的操作时:
cd ../project2
sudo python setup.py develop
Run Code Online (Sandbox Code Playgroud)
安装包失败pandas并显示错误
ImportError: no module named numpy
Run Code Online (Sandbox Code Playgroud)
但如果我之后立即运行类似的操作
python
import numpy
numpy.version.version
import pandas
pandas.version.version
Run Code Online (Sandbox Code Playgroud)
它绝对正确地解析了此代码,并显示了已安装的软件包的版本。
那么问题出在哪里,我该如何解决它才能安装项目依赖项?
操作系统:Ubuntu 12.04 LTS、Python 2.7.3
python -msite输出
sys.path = [
'/home/user1/code/myproject/project2',
'/home/user1/code/myproject/project1/src',
'/home/user1/code/myproject/venv/local/lib/python2.7/site-packages/pymongo-2.5-py2.7-linux-x86_64.egg',
'/home/user1/code/myproject/venv/local/lib/python2.7/site-packages/Jinja2-2.7.2-py2.7.egg',
'/home/user1/code/myproject/venv/local/lib/python2.7/site-packages/pandas-0.11.0-py2.7-linux-x86_64.egg',
'/home/user1/code/myproject/venv/local/lib/python2.7/site-packages/scikit_learn-0.13.1-py2.7-linux-x86_64.egg',
'/home/user1/code/myproject/venv/local/lib/python2.7/site-packages/scipy-0.13.3-py2.7-linux-x86_64.egg',
'/home/user1/code/myproject/venv/local/lib/python2.7/site-packages/nltk-2.0.4-py2.7.egg',
'/home/user1/code/myproject/venv/local/lib/python2.7/site-packages/MarkupSafe-0.19-py2.7-linux-x86_64.egg',
'/home/user1/code/myproject/venv/local/lib/python2.7/site-packages/pytz-2014.1-py2.7.egg',
'/home/user1/code/myproject/venv/local/lib/python2.7/site-packages/python_dateutil-2.2-py2.7.egg',
'/home/user1/code/myproject/venv/local/lib/python2.7/site-packages/PyYAML-3.10-py2.7-linux-x86_64.egg',
'/home/user1/code/myproject/venv/local/lib/python2.7/site-packages/six-1.6.1-py2.7.egg',
'/home/user1/code/myproject/venv/lib/python2.7/site-packages/pymongo-2.5-py2.7-linux-x86_64.egg',
'/home/user1/code/myproject/venv/lib/python2.7/site-packages/Jinja2-2.7.2-py2.7.egg',
'/home/user1/code/myproject/venv/lib/python2.7/site-packages/pandas-0.11.0-py2.7-linux-x86_64.egg',
'/home/user1/code/myproject/venv/lib/python2.7/site-packages/scikit_learn-0.13.1-py2.7-linux-x86_64.egg',
'/home/user1/code/myproject/venv/lib/python2.7/site-packages/scipy-0.13.3-py2.7-linux-x86_64.egg',
'/home/user1/code/myproject/venv/lib/python2.7/site-packages/nltk-2.0.4-py2.7.egg',
'/home/user1/code/myproject/venv/lib/python2.7/site-packages/MarkupSafe-0.19-py2.7-linux-x86_64.egg',
'/home/user1/code/myproject/venv/lib/python2.7/site-packages/pytz-2014.1-py2.7.egg',
'/home/user1/code/myproject/venv/lib/python2.7/site-packages/python_dateutil-2.2-py2.7.egg',
'/home/user1/code/myproject/venv/lib/python2.7/site-packages/PyYAML-3.10-py2.7-linux-x86_64.egg',
'/home/user1/code/myproject/venv/lib/python2.7/site-packages/six-1.6.1-py2.7.egg',
'/home/user1/code/myproject/venv/lib/python2.7',
'/home/user1/code/myproject/venv/lib/python2.7/plat-linux2',
'/home/user1/code/myproject/venv/lib/python2.7/lib-tk',
'/home/user1/code/myproject/venv/lib/python2.7/lib-old',
'/home/user1/code/myproject/venv/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-linux2',
'/usr/lib/python2.7/lib-tk',
'/home/user1/code/myproject/venv/local/lib/python2.7/site-packages',
'/home/user1/code/myproject/venv/lib/python2.7/site-packages',
]
USER_BASE: '/home/user1/.local' (exists)
USER_SITE: '/home/user1/.local/lib/python2.7/site-packages' (exists)
ENABLE_USER_SITE: False
Run Code Online (Sandbox Code Playgroud)
的输出sudo python -msite
sys.path = [
'/home/user1/code/myproject/project2',
'/home/user1/code/myproject/project1/src',
'/usr/local/lib/python2.7/dist-packages/pymongo-2.5-py2.7-linux-x86_64.egg',
'/usr/local/lib/python2.7/dist-packages/Jinja2-2.7.2-py2.7.egg',
'/home/user1/code/myproject/project_flask/src',
'/usr/local/lib/python2.7/dist-packages/nltk-2.0.4-py2.7.egg',
'/usr/local/lib/python2.7/dist-packages/tweepy-2.2-py2.7.egg',
'/usr/local/lib/python2.7/dist-packages/python_twitter-0.8.2-py2.7.egg',
'/usr/local/lib/python2.7/dist-packages/lamson-1.1-py2.7.egg',
'/usr/local/lib/python2.7/dist-packages/celery-3.1.9-py2.7.egg',
'/usr/local/lib/python2.7/dist-packages/PyYAML-3.10-py2.7-linux-x86_64.egg',
'/usr/local/lib/python2.7/dist-packages/mongoengine-0.7.9-py2.7.egg',
'/usr/local/lib/python2.7/dist-packages/multiprocessing-2.6.2.1-py2.7-linux-x86_64.egg',
'/usr/local/lib/python2.7/dist-packages/Flask_WTF-0.5.2-py2.7.egg',
'/usr/local/lib/python2.7/dist-packages/Flask_Mail-0.6.1-py2.7.egg',
'/usr/local/lib/python2.7/dist-packages/Flask-0.7.2-py2.7.egg',
'/usr/local/lib/python2.7/dist-packages/Werkzeug-0.8.1-py2.7.egg',
'/usr/local/lib/python2.7/dist-packages/WTForms-0.6.3-py2.7.egg',
'/usr/local/lib/python2.7/dist-packages/oauth2-1.5.211-py2.7.egg',
'/usr/local/lib/python2.7/dist-packages/python_daemon-1.6-py2.7.egg',
'/usr/local/lib/python2.7/dist-packages/nose-1.3.1-py2.7.egg',
'/usr/local/lib/python2.7/dist-packages/mock-1.0.1-py2.7.egg',
'/usr/local/lib/python2.7/dist-packages/kombu-3.0.14-py2.7.egg',
'/usr/local/lib/python2.7/dist-packages/billiard-3.3.0.16-py2.7-linux-x86_64.egg',
'/usr/local/lib/python2.7/dist-packages/pytz-2014.1-py2.7.egg',
'/usr/local/lib/python2.7/dist-packages/blinker-1.3-py2.7.egg',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-linux2',
'/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages/PIL',
'/usr/lib/python2.7/dist-packages/gst-0.10',
'/usr/lib/python2.7/dist-packages/gtk-2.0',
'/usr/lib/python2.7/dist-packages/ubuntu-sso-client',
'/usr/lib/python2.7/dist-packages/ubuntuone-client',
'/usr/lib/python2.7/dist-packages/ubuntuone-control-panel',
'/usr/lib/python2.7/dist-packages/ubuntuone-couch',
'/usr/lib/python2.7/dist-packages/ubuntuone-installer',
'/usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol',
]
USER_BASE: '/home/user1/.local' (exists)
USER_SITE: '/home/user1/.local/lib/python2.7/site-packages' (doesn't exist)
ENABLE_USER_SITE: True
Run Code Online (Sandbox Code Playgroud)
小智 8
我最近在尝试将 Pandas 从版本 0.23.1 更新到 0.24.1 时遇到此错误。
解决我的问题的是首先通过执行更新 pip:
python -m pip install --upgrade pip
Run Code Online (Sandbox Code Playgroud)
然后更新所需的库。
从 的输出可以看出python -msite,python和sudo python在非常不同的环境中运行 Python 版本。他们看到不同的模块也就不足为奇了。 sudo通常会更改您的环境,特别是您的PATH环境HOME变量,这可能会导致运行不同的 PYTHON 解释器或user导入不同的模块。
一般来说,当在主目录的 virtualenv 中安装某些东西时,没有理由要使用 sudo。您应该在 virtualenv 中使用 pip 安装来安装软件包。
| 归档时间: |
|
| 查看次数: |
7382 次 |
| 最近记录: |