在 virtualenv 中找不到 Python 模块

问题描述 投票:0回答:3

我尝试安装 python 模块:

virtualenv .
source bin/activate
pip install utmp

看来已安装:

(wtmp)chris@chris-nb:~/computer/wtmp$ find -iname utmp
./bin/utmp
./lib/python2.7/site-packages/utmp

但是Python说没有找到:

(wtmp)chris@chris-nb:~/computer/wtmp$ ./wtmp.py
Traceback (most recent call last):
  File "./wtmp.py", line 3, in <module>
    import utmp
ImportError: No module named utmp

这是模块问题吗?我做错什么了吗?

如果重要的话,操作系统是 Ubuntu。

这是重新安装日志:

(wtmp)chris@chris-nb:~/computer/wtmp$ pip install --upgrade --no-deps --force-reinstall utmp
Downloading/unpacking utmp
  Downloading utmp-0.4.tar.gz
  Running setup.py (path:/home/chris/computer/wtmp/build/utmp/setup.py) egg_info for package utmp
    zip_safe flag not set; analyzing archive contents...
    flake8.reporter: module references __file__
    flake8.tests._test_warnings: module references __file__
    flake8.tests.test_integration: module references __file__

    Installed /home/chris/computer/wtmp/build/utmp/flake8-2.4.1-py2.7.egg
    Searching for six
    Reading https://pypi.python.org/simple/six/
    Best match: six 1.9.0
    Downloading https://pypi.python.org/packages/source/s/six/six-1.9.0.tar.gz#md5=476881ef4012262dfc8adc645ee786c4
    Processing six-1.9.0.tar.gz
    Writing /tmp/easy_install-oJJB7w/six-1.9.0/setup.cfg
    Running six-1.9.0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-oJJB7w/six-1.9.0/egg-dist-tmp-1116oK
    no previously-included directories found matching 'documentation/_build'
    zip_safe flag not set; analyzing archive contents...
    six: module references __path__

    Installed /home/chris/computer/wtmp/build/utmp/six-1.9.0-py2.7.egg
    Searching for mccabe>=0.2.1,<0.4
    Reading https://pypi.python.org/simple/mccabe/
    Best match: mccabe 0.3.1
    Downloading https://pypi.python.org/packages/source/m/mccabe/mccabe-0.3.1.tar.gz#md5=9a1570c470ff5db678cc0c03d5c0c237
    Processing mccabe-0.3.1.tar.gz
    Writing /tmp/easy_install-uFdTms/mccabe-0.3.1/setup.cfg
    Running mccabe-0.3.1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-uFdTms/mccabe-0.3.1/egg-dist-tmp-Q139di

    Installed /home/chris/computer/wtmp/build/utmp/mccabe-0.3.1-py2.7.egg
    Searching for pep8>=1.5.7,!=1.6.0,!=1.6.1,!=1.6.2
    Reading https://pypi.python.org/simple/pep8/
    Best match: pep8 1.5.7
    Downloading https://pypi.python.org/packages/source/p/pep8/pep8-1.5.7.tar.gz#md5=f6adbdd69365ecca20513c709f9b7c93
    Processing pep8-1.5.7.tar.gz
    Writing /tmp/easy_install-BdNCrK/pep8-1.5.7/setup.cfg
    Running pep8-1.5.7/setup.py -q bdist_egg --dist-dir /tmp/easy_install-BdNCrK/pep8-1.5.7/egg-dist-tmp-rrUWb1
    warning: no previously-included files matching '*.pyc' found under directory 'docs'
    warning: no previously-included files matching '*.pyo' found under directory 'docs'
    warning: no previously-included files matching '*.pyc' found under directory 'testsuite'
    warning: no previously-included files matching '*.pyo' found under directory 'testsuite'
    no previously-included directories found matching 'docs/_build'

    Installed /home/chris/computer/wtmp/build/utmp/pep8-1.5.7-py2.7.egg
    Searching for pyflakes>=0.8.1,<0.9
    Reading https://pypi.python.org/simple/pyflakes/
    Best match: pyflakes 0.8.1
    Downloading https://pypi.python.org/packages/source/p/pyflakes/pyflakes-0.8.1.tar.gz#md5=905fe91ad14b912807e8fdc2ac2e2c23
    Processing pyflakes-0.8.1.tar.gz
    Writing /tmp/easy_install-R5ltqy/pyflakes-0.8.1/setup.cfg
    Running pyflakes-0.8.1/setup.py -q bdist_egg --dist-dir     /tmp/easy_install-R5ltqy/pyflakes-0.8.1/egg-dist-tmp-a8CCFW
    zip_safe flag not set; analyzing archive contents...
    pyflakes.checker: module references __file__
    pyflakes.checker: module references __path__
    pyflakes.test.test_api: module references __file__
    pyflakes.test.test_undefined_names: module references __file__
    pyflakes.test.test_undefined_names: module references __path__

    Installed /home/chris/computer/wtmp/build/utmp/pyflakes-0.8.1-py2.7.egg

    warning: no files found matching '*.rst' under directory 'docs'
    warning: no files found matching '*.py' under directory 'docs'
Installing collected packages: utmp
  Found existing installation: utmp 0.4
    Uninstalling utmp:
      Successfully uninstalled utmp
  Running setup.py install for utmp

    warning: no files found matching '*.rst' under directory 'docs'
    warning: no files found matching '*.py' under directory 'docs'
    Installing utmp script to /home/chris/computer/wtmp/bin
Successfully installed utmp
Cleaning up...
python python-2.7 module pip virtualenv
3个回答
21
投票

刚刚遇到同样的问题。我通过使用

which python
发现了问题所在。它告诉我,我实际上有一个别名,它指向与当前
virtualenv
中不同的 python 可执行文件。显然别名比通过
source
设置的路径更重要。


16
投票

您可以通过调用

pip list
pip show utmp
检查它是否安装在您的 virtualenv 中。

如果没有,请尝试重新安装:

pip install --upgrade --no-deps --force-reinstall utmp

并用错误日志扩展你的问题。

还要验证 shebang 行,因为它可能指向的不是您的 virtualenv。


0
投票

就我而言,它恰好是我设置的让我的文件自动执行的 shebang 行:'#!/usr/bin/python3/'

一旦我切换到使用“venv”模块,我发现最好启动我的应用程序调用“python3 ./app.py”并删除 shebang 行,这样可以允许虚拟环境变量调用正确的 Python 二进制文件。

© www.soinside.com 2019 - 2024. All rights reserved.