2

私は Windows 7 を使用しています (パーミッション モデルを理解していないことは十分に認めています。他のタブでそれについて読んでいます)。私のユーザーは管理者です。「python distributed_setup.py」を実行しようとすると、「書き込みに失敗しました...許可が拒否されました」というエラーが表示され、次に「エラー:インストールディレクトリにファイルを作成または削除できません」というエラーが表示されます。

Python 3.2.2 MSI インストーラーを python.org から新しくインストールしました。

私は 64 ビットの Windows を使用していますが、32 ビットの Python をインストールしています。これは、それを必要とするいくつかの依存関係 (pyglet、OpenGLライブラリ) があるためです。

distributed_setup.py をダウンロードし、コマンドラインから "python distribute_setup.py" を実行します。

大量の役に立たないテキストの途中で、いくつかの隠れたエラー メッセージが吐き出されます。

root: Generating grammar tables from E:\Program Files (x86)\Python3.2.2\Lib\lib2to3\PatternGrammar.txt
root: Writing grammar tables to E:\Program Files (x86)\Python3.2.2\Lib\lib2to3\PatternGrammar3.2.2.final.0.pickle
root: Writing failed:[Errno 13] Permission denied: 'E:\\Program Files (x86)\\Python3.2.2\\Lib\\lib2to3\\PatternGrammar3.2.2.final.0.pickle'

これらの 3 行は約 20 回繰り返されます。

Scanning installed packages
No setuptools distribution found
error: can't create or remove files in install directory

The following error occurred while trying to add or remove files in the
installation directory:

    [Errno 13] Permission denied: 'E:\\Program Files (x86)\\Python3.2.2\\Lib\\site-packages\\test-easy-install-5924.write-test'

ディレクトリ「E:\Program Files (x86)\Python3.2.2\Lib」は、管理者による「フル コントロール」を許可します。私のユーザーは管理者です(そして、チェックされたアクセス許可のチェックボックスはすべてグレー表示されています-「フルコントロール」やその他のアクセス許可をオフにしたくてもオフにできませんでした。)

「ユーザー」グループと「管理者」グループに「フル コントロール」を追加してみました。再実行すると、同じエラーは発生しなくなりましたが、同じ時点で終了します。

Scanning installed packages
No setuptools distribution found
build\src\setuptools\command\easy_install.py:289: UserWarning: Unbuilt egg for distribute [unknown version] (c:\users\jhartley\appdata\local\temp\tmpr0dzkz\distribute-0.6.24\build\src)
  self.local_index = Environment(self.shadow_path+sys.path)
warning: no files found matching 'Makefile' under directory 'docs'
warning: no files found matching 'indexsidebar.html' under directory 'docs'
error: E:\Program Files (x86)\Python3.2.2\Scripts: Access is denied

「E:\Program Files (x86)\Python3.2.2\Scripts」ディレクトリはありません。作成します。「管理者」が所有し、管理者には「フル コントロール」が設定されています。他のすべての Python ファイルとディレクトリは「SYSTEM」が所有していることに気付きました。再度実行すると、次のようになります。

Scanning installed packages
No setuptools distribution found
build\src\setuptools\command\easy_install.py:289: UserWarning: Unbuilt egg for distribute [unknown version] (c:\users\jhartley\appdata\local\temp\tmp1kmbk6\distribute-0.6.24\build\src)
  self.local_index = Environment(self.shadow_path+sys.path)
warning: no files found matching 'Makefile' under directory 'docs'
warning: no files found matching 'indexsidebar.html' under directory 'docs'
error: E:\Program Files (x86)\Python3.2.2\Scripts\easy_install-script.py: Permission denied

「スクリプト」ディレクトリには管理者に「フル コントロール」が付与されていますが、ユーザー グループに「フル コントロール」を投機的に追加しようとしています。再実行すると、いくつかの警告が生成されます。

Scanning installed packages
No setuptools distribution found
build\src\setuptools\command\easy_install.py:289: UserWarning: Unbuilt egg for distribute [unknown version] (c:\users\jhartley\appdata\local\temp\tmp31bznf\distribute-0.6.24\build\src)
  self.local_index = Environment(self.shadow_path+sys.path)
warning: no files found matching 'Makefile' under directory 'docs'
warning: no files found matching 'indexsidebar.html' under directory 'docs'

しかし、正常に完了したようです。

ただし、次に「easy_install virtualenv」を実行すると、「不明な発行元からの次のプログラムがこのコンピューターに変更を加えることを許可しますか?」というユーザー アカウント制御ダイアログが表示されます。次に、新しい CMD ウィンドウを作成します。これは、点滅して見えなくなるのが速すぎて、機能していないように見えます。virtualenv がインストールされていません。

毎回 UAC​​ ダイアログが表示されないようにしたいです。面倒です。「easy_install」は信頼できるプログラムであり、実行するたびに確認する必要はありません。UACダイアログが表示されないようにするために私が見つけたすべての解決策には、実行可能ファイルへの魔法のダブルクリック可能なショートカットを作成することが含まれます. コマンドライン アプリケーションに関するものは見つかりませんでした。

また、新しいコマンド ウィンドウで easy_install が起動しないようにしたいと思います。これにより、出力を見ることができなくなります。UAC をグローバルにオフにすると、easy_install はダイアログなしで実行されますが、新しいウィンドウで実行されるため、この問題は UAC ダイアログとは無関係のようです。

何が起きてる?私は何を間違っていますか?

4

2 に答える 2

5

妻が言うように、「Windowsはf **** d」であるため、コマンドプロンプトを開くときは、[管理者として実行]オプションを使用する必要があるようです。ご存知のように、UACをオフにすることは、UACダイアログが表示されないようにする1つの方法です。

于 2012-01-21T15:56:23.863 に答える
1

システム全体のPythonインストールディレクトリとそのサブディレクトリの「フルコントロール」を自分のユーザーに明示的に付与すると、easy_installが機能します。

ただし、これは完全に満足のいくものではありません。

  • easy_installは引き続きUACダイアログを生成します。easy_installは信頼できるプログラムなので、これをオフにします
  • easy_installはまだ新しいcmdウィンドウで起動し、その後消えます。そのため、必要に応じて出力を調べることができません(たとえば、以前に失敗した場合)。
于 2012-01-21T10:16:02.650 に答える