2013-10-24 73 views
1

特拉维斯-CI不会建我的项目,发出这样的错误:为什么TravisCI不会找到我的LICENSE文件?

... 
running egg_info 
creating myproject.egg-info 
writing requirements to myproject.egg-info/requires.txt 
writing myproject.egg-info/PKG-INFO 
writing top-level names to myproject.egg-info/top_level.txt 
writing dependency_links to myproject.egg-info/dependency_links.txt 
writing manifest file 'myproject.egg-info/SOURCES.txt' 
reading manifest file 'myproject.egg-info/SOURCES.txt' 
writing manifest file 'myproject.egg-info/SOURCES.txt' 
running build_ext 
copying build/lib.linux-x86_64-2.6/myproject/test/unit/hang.so -> myproject/test/unit 
GLOB sdist-make: /home/travis/build/myteam/myproject/setup.py 
py27 create: /home/travis/build/myteam/myproject/.tox/py27 
py27 installdeps: -rrequirements.txt 
py27 inst: /home/travis/build/myteam/myproject/.tox/dist/myproject-0.0.1.zip 
ERROR: invocation failed, logfile: /home/travis/build/myteam/myproject/.tox/py27/log/py27-2.log 
ERROR: actionid=py27 
msg=installpkg 
cmdargs=[local('/home/travis/build/myteam/myproject/.tox/py27/bin/pip'), 'install', '--pre', '/home/travis/build/myteam/myproject/.tox/dist/myproject-0.0.1.zip'] 
env={'GOPATH': '/home/travis/.gvm/pkgsets/go1.1.1/global', 'COMPOSER_NO_INTERACTION': '1', 'rvm_version': '1.21.3 (latest-minor)', 'GOROOT': '/home/travis/.gvm/gos/go1.1.1', 'gvm_pkgset_name': 'global', 'TIMEZONE': 'UTC', 'rvm_path': '/home/travis/.rvm', 'GVM_PATH_BACKUP': '/home/travis/.gvm/bin:/usr/local/gradle/bin:/home/travis/.rvm/gems/ruby-1.9.3-p448/bin:/home/travis/.rvm/gems/[email protected]/bin:/home/travis/.rvm/rubies/ruby-1.9.3-p448/bin:/home/travis/.rvm/bin:/usr/local/pypy/bin:/usr/local/phantomjs/bin:/home/travis/.nvm/v0.10.12/bin:./node_modules/.bin:/home/travis/.gvm/pkgsets/go1.1.1/global/bin:/home/travis/.gvm/gos/go1.1.1/bin:/home/travis/.gvm/pkgsets/go1.1.1/global/overlay/bin:/home/travis/.gvm/bin:/home/travis/.gvm/bin:/usr/local/gradle/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', 'TRAVIS': 'true', 'SSH_CLIENT': '2607:f700:8000:12e:7056:7d4a:a406:dac4 35103 22', 'LOGNAME': 'travis', 'USER': 'travis', 'NVM_DIR': '/home/travis/.nvm', 'HOME': '/home/travis', 'TRAVIS_REPO_SLUG': 'myteam/myproject', 'PATH': '/home/travis/build/myteam/myproject/.tox/py27/bin:/home/travis/virtualenv/python2.6/bin:/usr/local/pypy/bin:/usr/local/phantomjs/bin:./node_modules/.bin:/home/travis/.gvm/pkgsets/go1.1.1/global/bin:/home/travis/.gvm/gos/go1.1.1/bin:/home/travis/.gvm/pkgsets/go1.1.1/global/overlay/bin:/home/travis/.gvm/bin:/home/travis/.gvm/bin:/usr/local/gradle/bin:/home/travis/.rvm/gems/ruby-1.9.3-p448/bin:/home/travis/.rvm/gems/[email protected]/bin:/home/travis/.rvm/rubies/ruby-1.9.3-p448/bin:/home/travis/.rvm/bin:/usr/local/pypy/bin:/usr/local/phantomjs/bin:/home/travis/.nvm/v0.10.12/bin:./node_modules/.bin:/home/travis/.gvm/pkgsets/go1.1.1/global/bin:/home/travis/.gvm/gos/go1.1.1/bin:/home/travis/.gvm/pkgsets/go1.1.1/global/overlay/bin:/home/travis/.gvm/bin:/home/travis/.gvm/bin:/usr/local/gradle/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin', 'TRAVIS_PULL_REQUEST': 'false', 'LD_LIBRARY_PATH': '/home/travis/.gvm/pkgsets/go1.1.1/global/overlay/lib:/home/travis/.gvm/pkgsets/go1.1.1/global/overlay/lib:', 'rvm_ruby_string': 'ruby-1.9.3-p448', 'LANG': 'en_US.UTF-8', 'MAVEN_OPTS': '-Xmx512m -XX:MaxPermSize=192m', 'TERM': 'xterm', 'SHELL': '/bin/bash', 'TRAVIS_TEST_RESULT': '0', 'rvm_prefix': '/home/travis', 'TRAVIS_BRANCH': 'develop', 'SHLVL': '3', 'TRAVIS_SECURE_ENV_VARS': 'false', 'HAS_ANTARES_THREE_LITTLE_FRONZIES_BADGE': 'true', 'MERB_ENV': 'test', 'NVM_BIN': '/home/travis/.nvm/v0.10.12/bin', 'NVM_PATH': '/home/travis/.nvm/v0.10.12/lib/node', 'GIT_ASKPASS': 'echo', 'VIRTUAL_ENV_DISABLE_PROMPT': 'true', 'TRAVIS_BUILD_ID': '12957294', 'rvm_env_string': 'ruby-1.9.3-p448', 'MANPATH': '/home/travis/.nvm/v0.10.12/share/man:', 'GVM_ROOT': '/home/travis/.gvm', 'JAVA_HOME': '/usr/lib/jvm/java-7-oracle', 'GVM_VERSION': '1.0.18', 'rvm_bin_path': '/home/travis/.rvm/bin', 'CI': 'true', 'RAILS_ENV': 'test', 'JRUBY_OPTS': '--server -Xcext.enabled=false -Xcompile.invokedynamic=false -J-Xss2m -J-Xmx256m -J-XX:+TieredCompilation', 'DEBIAN_FRONTEND': 'noninteractive', 'gvm_go_name': 'go1.1.1', 'TRAVIS_JOB_NUMBER': '7.1', 'IRBRC': '/home/travis/.rvm/rubies/ruby-1.9.3-p448/.irbrc', 'LC_CTYPE': 'en_US.UTF-8', 'TRAVIS_JOB_ID': '12957295', 'MY_RUBY_HOME': '/home/travis/.rvm/rubies/ruby-1.9.3-p448', 'PKG_CONFIG_PATH': '/home/travis/.gvm/pkgsets/go1.1.1/global/overlay/lib/pkgconfig:/home/travis/.gvm/pkgsets/go1.1.1/global/overlay/lib/pkgconfig:', 'TRAVIS_COMMIT': '27e740905a7da68718f994b5d854633844b16438', 'PLAT': 'linux-x86_64', 'LC_ALL': 'en_US.UTF-8', '_': '/home/travis/virtualenv/python2.6/bin/python', 'DYLD_LIBRARY_PATH': '/home/travis/.gvm/pkgsets/go1.1.1/global/overlay/lib:/home/travis/.gvm/pkgsets/go1.1.1/global/overlay/lib:', 'VIRTUAL_ENV': '/home/travis/virtualenv/python2.6', 'TZ': 'UTC', 'RUBY_VERSION': 'ruby-1.9.3-p448', 'TRAVIS_PYTHON_VERSION': '2.6', 'SSH_TTY': '/dev/pts/1', 'OLDPWD': '/home/travis/build', 'TRAVIS_BUILD_NUMBER': '7', 'TRAVIS_BUILD_DIR': '/home/travis/build/myteam/myproject', 'GEM_PATH': '/home/travis/.rvm/gems/ruby-1.9.3-p448:/home/travis/.rvm/gems/[email protected]', 'PYTHONIOENCODING': 'utf_8', 'PWD': '/home/travis/build/myteam/myproject', 'HAS_JOSH_K_SEAL_OF_APPROVAL': 'true', 'GVM_OVERLAY_PREFIX': '/home/travis/.gvm/pkgsets/go1.1.1/global/overlay', 'TRAVIS_COMMIT_RANGE': '3d43074ff413...27e740905a7d', 'MAIL': '/var/mail/travis', 'SSH_CONNECTION': '2607:f700:8000:12e:7056:7d4a:a406:dac4 35103 2607:f700:8001:134:eabd:6f6c:1c81:6e91 22', 'GEM_HOME': '/home/travis/.rvm/gems/ruby-1.9.3-p448', 'RACK_ENV': 'test'} 
Unpacking ./.tox/dist/myproject-0.0.1.zip 
    Running setup.py egg_info for package from file:///home/travis/build/myteam/myproject/.tox/dist/myproject-0.0.1.zip 
    Traceback (most recent call last): 
     File "<string>", line 16, in <module> 
     File "/tmp/pip-azSQM4-build/setup.py", line 40, in <module> 
     license=open("LICENSE").read(), 
    IOError: [Errno 2] No such file or directory: 'LICENSE' 
    Complete output from command python setup.py egg_info: 
    Traceback (most recent call last): 
    File "<string>", line 16, in <module> 
    File "/tmp/pip-azSQM4-build/setup.py", line 40, in <module> 
    license=open("LICENSE").read(), 
IOError: [Errno 2] No such file or directory: 'LICENSE' 

该文件应该已经包含在分布,因为它是在一个指定的参数setup()package_data提到:

setup(
    ... 
    long_description=open("README.rst").read(), 
    ... 
    license=open("LICENSE.txt").read(), 
    ... 
    package_data={'': ['LICENSE.txt', 'README.rst', 'requirements.txt']}, 
    ... 
    install_requires=open("requirements.txt").read().splitlines(), 

请注意,我们使用的TOX:

tests_require=['tox'], 
    cmdclass={'test': Tox}, 
) 

和更早版本:

class Tox(TestCommand): 
    """Enables `python setup.py test` to run tox.""" 
    def finalize_options(self): 
     TestCommand.finalize_options(self) 
     self.test_args = [] 
     self.test_suite = True 

    def run_tests(self): 
     #import here, cause outside the eggs aren't loaded 
     import tox 
     try: 
      tox.cmdline(self.test_args) 
     except SystemExit as exception: 
      sys.exit(exception.code) 

我不成功试图用这样的绝对路径:

long_description=open(os.path.join(os.path.dirname(os.path.realpath(__file__)), \ 
         "README.rst")).read(), 

env=表明PWDTRAVIS_BUILD_DIR是相同的,所以open('LICENSE')应该工作,因为它位于混帐的根目录目录。

通过Tox本地化所有测试都可以在所有Python版本中成功。

特拉维斯-lint接受我的.travis.yml

$ travis-lint 
Hooray, /home/bengt/MyTeam/MyProject.travis.yml seems to be solid! 
+0

您可以解压缩文件,看看是否许可文件是在压缩设置? – hpk42

+0

是的,'LICENSE.txt'是由GitHub生成的zip文件。在本地,'setup.py install_data'成功,但是travis似乎不会复制除.py之外的任何文件。 – Bengt

回答

9

怎么样在项目的根目录下创建MANIFEST.in

include README.rst 
include LICENSE.txt 
include requirements.txt 

里面?

0

您可以在setup.py

setup(
    include_package_data=True, 
) 
相关问题