简体   繁体   English

在virtualenv中找不到Python模块

[英]Python module not found in virtualenv

I've tried to install a python module: 我尝试安装python模块:

virtualenv .
source bin/activate
pip install utmp

It seems to be installed: 似乎已安装:

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

But Python says it wasn't found: 但是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

Is this a module issue? 这是模块问题吗? Did I do something wrong? 我做错什么了吗?

If it matters, the OS is Ubuntu. 如果重要,则操作系统为Ubuntu。

Here's the re-install log: 这是重新安装日志:

(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...

You can check whether it is installed in your virualenv by calling pip list or pip show utmp . 您可以通过调用pip listpip show utmp来检查它是否已安装在virualenv中。

If not, try to reinstall it: 如果没有,请尝试重新安装它:

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

and extend your question with the error log. 并使用错误日志扩展您的问题。

Also verify the shebang line as it might point not to your virtualenv. 还要验证shebang行,因为它可能指向的不是您的virtualenv。

Just bumped into the same issue. 只是碰到了同样的问题。 I found out what is wrong by using which python . 我通过使用which python找出了问题所在。 It showed me that I actually have an alias in place which points to a different python executable than the one in current virtualenv . 它告诉我,我实际上有一个别名,该别名指向与当前virtualenv Python可执行文件不同的python可执行文件。 Apparently aliases are more important than paths set via source . 显然,别名比通过source设置的路径更重要。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM