下面是说明问题的终端会话:

$ pip install scrappy --user
Requirement already satisfied (use --upgrade to upgrade): scrappy in /home/louist/Documents/Python/Scrappy
Downloading/unpacking guessit (from scrappy)
  Downloading guessit-0.5.3.tar.gz (45Kb): 45Kb downloaded
  Running setup.py egg_info for package guessit

Downloading/unpacking tvdb-api (from scrappy)
  Downloading tvdb_api-1.8.2.tar.gz
  Running setup.py egg_info for package tvdb-api

Downloading/unpacking hachoir-metadata (from scrappy)
  Downloading hachoir-metadata-1.3.3.tar.gz (52Kb): 52Kb downloaded
  Running setup.py egg_info for package hachoir-metadata
    Warning: unable to recompile dialog.ui to dialog_ui.py using pyuic4
    (use command "-c egg_info --egg-base pip-egg-info --disable-qt" to disable this warning)


Downloading/unpacking hachoir-core (from scrappy)
  Downloading hachoir-core-1.3.3.tar.gz (91Kb): 91Kb downloaded
  Running setup.py egg_info for package hachoir-core

Downloading/unpacking hachoir-parser (from scrappy)
  Downloading hachoir-parser-1.3.4.tar.gz (359Kb): 359Kb downloaded
  Running setup.py egg_info for package hachoir-parser

    warning: no files found matching 'metadata_csv.py'
Installing collected packages: guessit, tvdb-api, hachoir-metadata, hachoir-core, hachoir-parser
  Running setup.py install for guessit

  Running setup.py install for tvdb-api

  Running setup.py install for hachoir-metadata
    Warning: unable to recompile dialog.ui to dialog_ui.py using pyuic4
    (use command "-c install --single-version-externally-managed --record /tmp/pip-3OxvBD-record/install-record.txt --install-headers /home/louist/.virtualenvs/test/include/site/python2.7 --user --disable-qt" to disable this warning)

    changing mode of build/scripts-2.7/hachoir-metadata from 664 to 775
    changing mode of build/scripts-2.7/hachoir-metadata-gtk from 664 to 775
    changing mode of build/scripts-2.7/hachoir-metadata-qt from 664 to 775
    deleting hachoir_metadata.egg-info/requires.txt

    changing mode of /home/louist/.local/bin/hachoir-metadata to 775
    changing mode of /home/louist/.local/bin/hachoir-metadata-gtk to 775
    changing mode of /home/louist/.local/bin/hachoir-metadata-qt to 775
  Running setup.py install for hachoir-core

  Running setup.py install for hachoir-parser
    deleting hachoir_parser.egg-info/requires.txt

    warning: no files found matching 'metadata_csv.py'
Successfully installed guessit tvdb-api hachoir-metadata hachoir-core hachoir-parser
Cleaning up...
(test)louist@ltpc:~/Documents/Python/Scrappy$ python
Python 2.7.3 (default, Sep 26 2012, 21:51:14)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import scrappy.core as scrappy
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "scrappy/core.py", line 10, in <module>
    import guessit
ImportError: No module named guessit

简而言之,我做了以下几件事:
使用mkvirtualenv test启动virtualenv
尝试安装我正在通过pip install scrappy --user开发的包
启动python终端,然后尝试导入scrappy.core
这是我的setup.py文件:
#!/usr/bin/env python
from setuptools import setup

setup(
    name='Scrappy',
    version="0.2.7 alpha",
    author='Louis Thibault',
    author_email='louist87@gmail.com',
    packages=['scrappy'],
    include_package_data=True,
    install_requires=['guessit', 'tvdb_api', 'hachoir-metadata', 'hachoir-core', 'hachoir-parser'],
    url='https://github.com/louist87/scrappy',
    license='GPL 3.0',
    description='Rename video files based on information scraped from thetvdb.com',
    keywords=["TVDB", "thetvdb", "rename", "broadcatching", "media"],
    long_description=open('README.rst').read()
)

有什么想法吗?

最佳答案

默认情况下,新的virtualenv不包括安装在其外部的包(创建时没有--system-site-packages选项)。因此,您的testvirtualenv没有看到安装到~/.local的包(由于--user选项)。
使用--system site packages选项创建virtualenv,或者在激活的virtualenv中安装时不使用--user。

关于python - 为什么setup.py显然可以成功安装我的软件包,但实际上却无法安装依赖项?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14249367/

10-16 02:47
查看更多