1

easy_installを使用して、windows7のvirtuaenvにPythonパッケージをインストールします。UAVのため、パッケージをインストールするための管理者としてCMDを実行する必要があります。ここで問題が発生します。通常のユーザーアカウントからパッケージをインポートできないことに気付きました。

>>> import tempita
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named tempita

しかし、tempita-0.4-py2.6はsite-packageのすぐそこにあります。また、管理者としてpythonを実行すると、インポートは正しく機能します。それが許可の問題です。奇妙なことに、理由はわかりませんが、制限された権限設定でインストールされるのは.eggファイルだけです。この問題に関する記事があることがわかりました。

easy_installはVistaでは簡単ではなくなりました

親フォルダーの所有者またはアクセス許可を変更することはできません。私が知っている唯一の解決策は、それらのeggファイルのアクセス許可を1つずつ変更することです。これは本当に厄介ですが、easy_installがそのような制限された権限を.pyファイルではなく.eggファイルにのみ設定するのはなぜですか?また、UAVをシャットダウンしたり、スーパーユーザーとして実行したりせずに、この問題を解決するにはどうすればよいですか?

4

2 に答える 2

0

私はsetuptoolsの代わりにdistributeを使い始めました。これは、distributeチームが問題の追跡にはるかに積極的に取り組んできたためです。不思議なことに、おそらくあなたが遭遇したパーミッションの問題のために、distributeが私のWindows7システムでzipエッグを作成しなくなったように見えます。配布に切り替えることはあなたにとって解決策かもしれませんが、それが修正というよりはハックのように思えるかどうかは理解できます。

于 2010-02-15T12:40:58.890 に答える
0

ICACLSを使用してファイルのアクセス許可をリセットできる場合があります。

ICACLS c:\Python26\lib\site-packages\*.egg /reset

を実行する前に、まず1つのファイルで試してみることをお勧めします*.egg*.eggおそらくeggフォルダにも一致することに注意してください。

于 2010-02-15T12:43:00.447 に答える