2017-03-07 3 views
1

私はインターネットに接続していないCentos 7マシンにruamel.yamlのpythonライブラリをインストールしようとしています。ruamel.yaml python library offlineをインストールするには?

  1. インストールlibyaml-develの、のpython-develの、のpython-PIPローカルリポジトリを使用して

  2. ダウンロードruamel.yaml-0.13.14.tar & ruamel.ordereddict-0.4.6:私はこれを試してみましたピピからの.tar(依存関係)。

  3. 今私は、ピップインストールを使用してruamel.ordereddictをインストールすることができる午前 が、私は同じようにruamel.yamlをインストールしようとしたとき、私は次の例外を得た:。

    [[email protected] ruamel.yaml-0.13.14]# pip install . 
    Processing /tmp/python/ruamel.yaml-0.13.14 
    Complete output from command python setup.py egg_info: 
    Traceback (most recent call last): 
        File "<string>", line 1, in <module> 
        File "/usr/lib/python2.7/site-packages/setuptools/__init__.py", line 2, in <module> 
        from setuptools.extension import Extension, Library 
        File "/usr/lib/python2.7/site-packages/setuptools/extension.py", line 5, in <module> 
        from setuptools.dist import _get_unpatched 
        File "/usr/lib/python2.7/site-packages/setuptools/dist.py", line 7, in <module> 
        from setuptools.command.install import install 
        File "/usr/lib/python2.7/site-packages/setuptools/command/__init__.py", line 8, in <module> 
        from setuptools.command import install_scripts 
        File "/usr/lib/python2.7/site-packages/setuptools/command/install_scripts.py", line 3, in <module> 
        from pkg_resources import Distribution, PathMetadata, ensure_directory 
        File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 74, in <module> 
        import parser 
        File "parser.py", line 77, in <module> 
        from ruamel.yaml.error import MarkedYAMLError     # type: ignore 
        File "/usr/lib64/python2.7/site-packages/ruamel/__init__.py", line 5, in <module> 
        __import__('pkg_resources').declare_namespace(__name__) 
    AttributeError: 'module' object has no attribute 'declare_namespace' 
    
    ---------------------------------------- 
    Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-oOWX1x-build/ 
    

Pythonライブラリをオフラインモードでインストールする正しい方法は何ですか?

+0

次のコマンドラインでの印刷は何ですか? Python -c "p​​rint __import __( 'pkg_resources').__ファイル\ _ \ _" – Bemmu

+0

@Bemmu ** AttributeError: 'module'オブジェクトに属性 'declare_namespace' **のエラーがありません。 – abhishek

+0

https://github.com/pypa/pip/issues/2679 – nir0s

答えて

1

これは必須ではないtarファイルを展開しているようですが、それが原因でこのエラーが発生するのであれば、おそらくtypingの依存関係もありません。

pipがインストールされているシステムを使用するべきではありません。古いバージョンの不具合のため、実際には問題が発生する可能性があります。

あなたがしてはいけないことは、システムsite-packages/dist-packagesのものを更新/上書きするときにシステムが壊れる可能性があるので、pipをPython virtualenvの外にインストールすることです。以下で提供される解決策は、システムディレクトリにpip/wheels/virtualenvのみをインストールします。つまりAFAIKは安全ですが、必要に応じて回避策もあります。

パッケージをインストールするには、付属のホイールを使用することも検討してください。そのようにしてC拡張はコンパイルする必要はありません。今

mkdir /tmp/offline 
cd /tmp/offline 
# your python-pip installed pip might not support wheels 
wget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04f05aac21c32c638e939e447/pip-9.0.1.tar.gz 
wget https://pypi.python.org/packages/a7/37/947b4329c4a3c72093b6c8e9b4be8c7f10c32dbb78848d3a234ce01c059d/wheel-0.30.0a0.tar.gz 
wget https://pypi.python.org/packages/6f/86/3dc328ee7b1a6419ebfac7896d882fba83c48e3561d22ddddf38294d3e83/virtualenv-15.1.0-py2.py3-none-any.whl 

(利用できない場合は.tar.gz)に必要な車輪をダウンロード:オンラインDOあるマシンで

新しいディレクトリに6つのファイル

wget https://pypi.python.org/packages/96/4b/5251bf469f37e49e0c92f841b5b3ef01a1c9d652cc018df470e5ae235eb8/ruamel.ordereddict-0.4.9-cp27-cp27mu-manylinux1_x86_64.whl 
wget https://pypi.python.org/packages/63/40/c38b857ec6a083e534ee9a9f655741120d4bfd9139232681f976cf44272b/ruamel.yaml-0.13.14-cp27-cp27mu-manylinux1_x86_64.whl 
wget https://pypi.python.org/packages/b6/0c/53c42edca789378b8c05a5496e689f44e5dd82bc6861d1ae5a926ee51b84/typing-3.5.3.0.tar.gz 

コピーしますあなたruamel.yaml installeとvirtualenvのを与えるオフラインシステム、および

sudo pip install pip*.tar.gz wheel*.tar.gz 
sudo pip install virtualenv* 
virtualenv ~/ruamel 
source ~/ruamel/bin/activate 
pip install typing* ruamel* 

はありませんd、そこにアプリケーションを追加するだけです。

ここで使用されているダウンロードは、2017-01-07現在のものです。必要に応じて、ブラウザ(オンラインシステム上)を使用して最新のものを入手することができます。

+0

あなたの返事をありがとう、最後のステップで私が '(ruamel)[abhishek @ limulus ruamel] $ pip install typing * ruamel * ruamel.ordereddict-0.4.9-cp26-cp26mu- manylinux1_x86_64.whlはこのプラットフォームではサポートされていません。 – abhishek

+0

私のLinuxバージョン: '[abhishek @ limulus ruamel] $ uname -a Linux limulus.example.com 3.10.0-327.36.1.el7.x86_64#1 SMP Sun Sep 18 13:04:29 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux' – abhishek

+0

私はコピーと貼り付けに間違いをしました。あなたはruamel.ordereddict wheelが必要です2.7はPython 2.6のものではありません、ごめんなさい – Anthon

関連する問題