スクレイプを使用しようとしていますが、問題があります。
six.movesからxmlrpc_clientをxmlrpclibとしてインポート
ImportError:名前xmlrpc_clientをインポートできません
次に、pip install --upgrade six scrape
、しかし:
Found existing installation: six 1.4.1
DEPRECATION: Uninstalling a distutils installed project (six) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project.
Uninstalling six-1.4.1:
Exception:
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/pip/basecommand.py", line 211, in main
status = self.run(options, args)
File "/Library/Python/2.7/site-packages/pip/commands/install.py", line 311, in run
root=options.root_path,
File "/Library/Python/2.7/site-packages/pip/req/req_set.py", line 640, in install
requirement.uninstall(auto_confirm=True)
File "/Library/Python/2.7/site-packages/pip/req/req_install.py", line 716, in uninstall
paths_to_remove.remove(auto_confirm)
File "/Library/Python/2.7/site-packages/pip/req/req_uninstall.py", line 125, in remove
renames(path, new_path)
File "/Library/Python/2.7/site-packages/pip/utils/__init__.py", line 315, in renames
shutil.move(old, new)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 302, in move
copy2(src, real_dst)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 131, in copy2
copystat(src, dst)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 103, in copystat
os.chflags(dst, st.st_flags)
OSError: [Errno 1] Operation not permitted: '/var/folders/3h/r_2cxlvd1sjgzfgs4xckc__c0000gn/T/pip-5h86J8-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six-1.4.1-py2.7.Egg-info'
クイックフィックス:
私は同じ問題だと思うことを回避しました。これを試してみてください(必要に応じて、Sudo):
pip install scrape --upgrade --ignore-installed six
Github は最終的に私がこの答えを得た場所です(そして、これがあなたの問題を解決しない場合、あなたが考慮するかもしれないいくつかの提案があります)。また、これはエルキャピタンの問題のようです。
また、これは技術的には duplicate かもしれません。しかし、他の投稿が思いついた答えは、デフォルトのosx Pythonに依存するのではなく、独自のPythonをインストールすることでした。
より長い、本当の修正:
最終的に、他のライブラリをインストールするためにsix
を実際にアップグレードする必要がある状況に陥りましたが、その時点で無視するだけでは十分ではありませんでした。 6つをアップグレードする最も簡単な方法は、pipを使用せず、代わりに手動で.tar.gz
from 6ページ 、解凍、新しく解凍された6パッケージディレクトリに移動し、インストールを手動で実行します(必要に応じて、Sudo):
python setup.py install
この回答 のガイダンスに感謝します。
これは重複しているとは思いませんが、実際には この問題はpip GitHubリポジトリの問題リストで説明されています です。
注:インストールするパッケージに応じて、ソリューションで参照されているコマンドを変更する必要があります。以下の私のケースでは、virtualenvとvirtualwrapperをセットアップしようとしていました。 aws-cliまたはその他のパッケージのインストールに失敗した場合は、それをスクリプトに挿入するだけです
この問題の核心は、El Capitanに同梱されたAppleの新しいSIPに関係しています。もっと 具体的に 、
OS X 10.11のpythonは、Appleがpythonディストリビューションに変更を加えたため、削除できない6つの独自のコピーを保持しています。 1.4.1は最新ではなく、1.10.0は最新です。また、Pythonのインポートパスの早い段階で提供されるため、通常はインストールした後のバージョンをオーバーライドします。
今のところ、異なるpythonを使用することをお勧めします。 Python.orgの、またはHomebrew、またはAnaconda Pythonを介してインストールされます。
Ask Different Stack Exchangeに関する非常に詳細な議論 があり、これはSIPの問題がEl Capitanの最初のリリース以来どのように識別され、対処され、進化したかをカバーしています。私はそれが魅力的であると感じましたが、あなたが読むのにかかるよりも以下の指示に従う時間は少ないので、以下を終えた後にチェックアウトすることをお勧めします...
VirtualEnvとVirtualEnvWrapperをアップグレードしようとしたときに、まったく同じエラーが発生しました。上記のスレッドでいくつかの提案がありましたが、最終的に最も安定したのは
$ man Sudo
-H The -H (HOME) option option sets the HOME environment variable
to the home directory of the target user (root by default) as specified
HOME environment variable depends on sudoers(5) settings. By default,
Sudo will set HOME if env_reset or always_set_home are set, or if
set_home is set and the -s option is specified on the command line.
$ pip install --help | grep upgrade
-U, --upgrade Upgrade all specified packages to the newest available
version. This process is recursive regardless of whether a dependency
is already satisfied.
beejhuff@ignatius:~/mac_setup$ pip install --help | grep ignore-installed
-I, --ignore-installed Ignore the installed packages (reinstalling instead).
最初に、私の最初の試みとエラー:
$ Sudo pip install virtualenv virtualenvwrapper
The directory '/Users/beejhuff/Library/Caches/pip/http' or its parent directory
is not owned by the current user and the cache has been disabled.
Please check the permissions and owner of that directory. If executing
pip with Sudo, you may want Sudo's -H flag.
The directory '/Users/beejhuff/Library/Caches/pip' or its parent directory
is not owned by the current user and caching wheels has been disabled.
check the permissions and owner of that directory. If executing pip with
Sudo, you may want Sudo's -H flag.
Collecting virtualenv
Downloading virtualenv-15.0.0-py2.py3-none-any.whl (1.8MB)
100% |████████████████████████████████| 1.8MB 335kB/s
Collecting virtualenvwrapper
Downloading virtualenvwrapper-4.7.1-py2.py3-none-any.whl
Collecting virtualenv-clone (from virtualenvwrapper)
Downloading virtualenv-clone-0.2.6.tar.gz
Collecting stevedore (from virtualenvwrapper)
Downloading stevedore-1.12.0-py2.py3-none-any.whl
Collecting pbr>=1.6 (from stevedore->virtualenvwrapper)
Downloading pbr-1.8.1-py2.py3-none-any.whl (89kB)
100% |████████████████████████████████| 92kB 362kB/s
Collecting six>=1.9.0 (from stevedore->virtualenvwrapper)
Downloading six-1.10.0-py2.py3-none-any.whl
Installing collected packages: virtualenv, virtualenv-clone, pbr, six, stevedore, virtualenvwrapper
Running setup.py install for virtualenv-clone ... done
Found existing installation: six 1.4.1
DEPRECATION: Uninstalling a distutils installed project (six) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project.
Uninstalling six-1.4.1:
Exception:
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/pip-8.1.0-py2.7.Egg/pip/basecommand.py", line 209, in main
status = self.run(options, args)
File "/Library/Python/2.7/site-packages/pip-8.1.0-py2.7.Egg/pip/commands/install.py", line 317, in run
prefix=options.prefix_path,
File "/Library/Python/2.7/site-packages/pip-8.1.0-py2.7.Egg/pip/req/req_set.py", line 726, in install
requirement.uninstall(auto_confirm=True)
File "/Library/Python/2.7/site-packages/pip-8.1.0-py2.7.Egg/pip/req/req_install.py", line 746, in uninstall
paths_to_remove.remove(auto_confirm)
File "/Library/Python/2.7/site-packages/pip-8.1.0-py2.7.Egg/pip/req/req_uninstall.py", line 115, in remove
renames(path, new_path)
File "/Library/Python/2.7/site-packages/pip-8.1.0-py2.7.Egg/pip/utils/__init__.py", line 267, in renames
shutil.move(old, new)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 302, in move
copy2(src, real_dst)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 131, in copy2
copystat(src, dst)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 103, in copystat
os.chflags(dst, st.st_flags)
OSError: [Errno 1] Operation not permitted: '/tmp/pip-GQL8Gi-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six-1.4.1-py2.7.Egg-info'
ソリューション
3つの特定の方法でインストールコマンドを変更する必要がありました。
-H
フラグをSudo
に追加する必要がありました--upgrade
オプションを追加する必要がありました(virtualenv
)--ignore-installed
フラグを使用し、six
パッケージを無視するように指定する必要がありました。$ Sudo -H pip install <packagename> --upgrade --ignore-installed six
-<packagename>
をインストールする必要のある特定のパッケージに置き換えます `最終作業例
最初のアップグレードvirtualenv
$ Sudo -H pip install virtualenv --upgrade --ignore-installed six
Password:
Collecting virtualenv
Using cached virtualenv-15.0.0-py2.py3-none-any.whl
Collecting six
Using cached six-1.10.0-py2.py3-none-any.whl
Installing collected packages: virtualenv, six
Successfully installed six-1.4.1 virtualenv-15.0.0
2回目のvirtualenvwrapperのアップグレード
$ Sudo -H pip install virtualenvwrapper --upgrade --ignore-installed six
Password:
Downloading virtualenvwrapper-4.7.1-py2.py3-none-any.whl
Collecting six
Downloading six-1.10.0-py2.py3-none-any.whl
Collecting virtualenv (from virtualenvwrapper)
Downloading virtualenv-15.0.0-py2.py3-none-any.whl (1.8MB)
100% |████████████████████████████████| 1.8MB 751kB/s
Collecting virtualenv-clone (from virtualenvwrapper)
Downloading virtualenv-clone-0.2.6.tar.gz
Collecting stevedore (from virtualenvwrapper)
Downloading stevedore-1.12.0-py2.py3-none-any.whl
Collecting pbr>=1.6 (from stevedore->virtualenvwrapper)
Downloading pbr-1.8.1-py2.py3-none-any.whl (89kB)
100% |████████████████████████████████| 92kB 417kB/s
Installing collected packages: virtualenv, virtualenv-clone, pbr, six, stevedore, virtualenvwrapper
Running setup.py install for virtualenv-clone ... done
Successfully installed pbr-1.8.1 six-1.4.1 stevedore-1.12.0 virtualenv-15.0.0 virtualenv-clone-0.2.6 virtualenvwrapper-4.7.1
以前の回答はどちらも私にとってはうまくいきません。最後に、以下の抜粋のとおり、 GitHub、aws/aws-cli から解決策を得ました。
OS Xでは、El Capitanのdistutilsに付属している6のバージョンに関するエラーが表示された場合、-ignore-installedオプションを使用します。
$ Sudo pip install awscli --ignore-installed six
これは動作します!!
Sudo pip install awsebcli --upgrade --ignore-installed six