7

githubからパッケージを「編集可能」(-e)モードでインストールして、リポジトリを使用しながら簡単に作業できるようにしようとしています。

ただし、インストール後にPythonパスで使用できないため、問題が発生しています。

新しくクリーンなvirtualenv「パブリッシャー」を作成してアクティブ化した状態で、次を実行します。

pip install -e git+https://github.com/roberts81/easy-thumbnails.git#egg=easy_thumbnails
Obtaining easy-thumbnails from git+https://github.com/roberts81/easy-thumbnails.git#egg=easy_thumbnails
  Cloning https://github.com/roberts81/easy-thumbnails.git to /Users/ben/Envs/publisher/src/easy-thumbnails
  Running setup.py egg_info for package easy-thumbnails

    no previously-included directories found matching 'docs/_build'
Installing collected packages: easy-thumbnails
  Running setup.py develop for easy-thumbnails

    no previously-included directories found matching 'docs/_build'
    Creating /Users/ben/Envs/publisher/lib/python2.7/site-packages/easy-thumbnails.egg-link (link to .)
    Adding easy-thumbnails 1.2 to easy-install.pth file

    Installed /Users/ben/Envs/publisher/src/easy-thumbnails
Successfully installed easy-thumbnails
Cleaning up...

次に、Pythonを実行して(まだvirtualenvにある)、そのパッケージから何かをインポートしようとすると、失敗します。

Python 2.7.2 (default, Jun 20 2012, 16:23:33) 
[GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import easy_thumbnails
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named easy_thumbnails
>>> 

-eオプションを指定せずにインストールすると、すべてが正常に機能します。他のリポジトリでも同じ効果が得られます(つまり、インストール後にPythonパスに表示されません)pip install -e git+http://github.com/django/django.git@stable/1.5.x#egg=django。では、何が得られるのでしょうか?

私が気付いていることの1つは、easy-install.pthファイルが実際には更新されていないように見えることです。

しかし、sudoで実行すると(pip install ...コマンド)、機能します!また、パッケージをグローバルに(virtualenvの外で、もちろんsudoを使用して)インストールでき、それは機能します。

バージョン:

pip == 1.2.1 virtualenv == 1.8.4 virtualenvwrapper == 3.6 python == 2.7.2 Mac OSX 10.8.2

4

4 に答える 4

2

pip1.2.1とvirtualenv1.8.4で私のために働いています:

$ virtualenv -p python2.7 venv
Running virtualenv with interpreter /usr/local/bin/python2.7
New python executable in venv/bin/python
Installing setuptools............done.
Installing pip...............done.

$ source venv/bin/activate

$ pip install -e git+https://github.com/roberts81/easy-thumbnails.git#egg=easy_thumbnails
Obtaining easy-thumbnails from git+https://github.com/roberts81/easy-thumbnails.git#egg=easy_thumbnails
  Cloning https://github.com/roberts81/easy-thumbnails.git to ./venv/src/easy-thumbnails
  Running setup.py egg_info for package easy-thumbnails

    no previously-included directories found matching 'docs/_build'
Installing collected packages: easy-thumbnails
  Running setup.py develop for easy-thumbnails

    no previously-included directories found matching 'docs/_build'
    Creating /Users/jterrace/test/venv/lib/python2.7/site-packages/easy-thumbnails.egg-link (link to .)
    Adding easy-thumbnails 1.2 to easy-install.pth file

    Installed /Users/jterrace/test/venv/src/easy-thumbnails
Successfully installed easy-thumbnails
Cleaning up...

$ python
Python 2.7.3 (default, Nov 12 2012, 09:50:25) 
[GCC 4.2.1 Compatible Apple Clang 4.1 ((tags/Apple/clang-421.11.66))] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import easy_thumbnails
>>> easy_thumbnails.VERSION
'1.2'
于 2013-02-24T03:32:57.520 に答える
2

質問に回答したので、これはばかげているように見えるかもしれません。これは別の問題に対処しますが、このエラーが発生したときの解決策でした。(これが他の人に役立つことを願っています)

__init__.pyファイルが配置されていることを確認してください。構造は次のようになります。

/myprojectname
  /myprojectname
    __init__.py
    mymodule.py
  setup.py

次にpip install -e .、最上位myprojectnameフォルダ内から「」を実行すると、すべてが機能します。私の場合は忘れてしまい__init__.pyましたが、これがそのメッセージの考えられる原因であることを忘れました。

于 2014-02-23T01:58:37.343 に答える
1

同様の問題が発生し、virtualenvを削除して再作成し、アクティブ化してから、(他の処理を行う前に)環境内のpipとsetuptoolsを更新することで解決しました。(仮想環境がアクティブ化されていないことを確認するために)新しいターミナルウィンドウを開くことから始めて、仮想環境が存在する上のディレクトリに移動します。次に、次のことを行います。

rm -rf env
virtualenv env
. env/bin/activate
pip install -U pip setuptools

この後、GitHubから(を使用してpip)パッケージをインストールし、Pythonでインポートすることができました。

于 2016-07-15T20:45:43.603 に答える
0

それは別の問題に対処しますが、このMac OSX 10.8固有のスレッドに従って結論を出すことで、私にとっては問題が解決したように見えました。

具体的には、pipを使用せずにdistributeをインストールしました。

$ curl -O http://python-distribute.org/distribute_setup.py
$ python distribute_setup.py

export VIRTUALENV_DISTRIBUTE=1次に、〜/ .bashrcファイル に追加して、ターミナルを再起動しました。

安全のために、virtualenvとvirtualenvwrapperをアンインストールして再インストールしました。

次に、古い仮想環境を破棄して再作成しました。何らかの理由で、virtualenvを修正してdistributeを使用およびインストールすると、問題が修正されます。奇抜。

于 2013-02-24T04:45:29.437 に答える