virtualenvで作った環境を移動させるとぶっ壊れる?

どうも( ´_ゝ`)

Pythonで開発をしていて,環境ごと人に渡したい,と思うのは自然なことと思われます. 僕はvirtualenvを使えばそれが達成できると思っていました. というわけで下を見てください.

% virtualenv work1 #環境を作る
<                virtualenv work1
New python executable in work1/bin/python
Installing setuptools............done.
Installing pip...............done.
% pip freeze #今のパッケージ一覧を見てみる.
BeautifulSoup==3.2.1
Django==1.5
MySQL-python==1.2.4b4
PyRSS2Gen==1.0.0
PyYAML==3.10
zope.interface==3.8.0
...
% source work1/bin/activate #work1環境に入る
(work1)% pip freeze #work1環境にインストールされたパッケージ一覧
wsgiref==0.1.2

さあ,ここでwork1環境ごと人に渡したいのです. というわけでwork1フォルダを移動してみました.

% deactivate #環境を抜ける
% mkdir work2
% mv work1/ work2/
% cd work2/
work2% ls
work1

この状態でwork1環境をactivateしてみます.

work2% source work1/bin/activate
(work1)work2% pip freeze
BeautifulSoup==3.2.1
Django==1.5
MySQL-python==1.2.4b4
PyRSS2Gen==1.0.0
PyYAML==3.10
...続く

どうですか.ぶっ壊れてますよね.笑 これにはどう対処したらいいのか,調べました. 以下のように,もう一度virtualenvを呼んでやるといいみたいです.

work2% ls
work1
work2% virtualenv work1
work2% source work1/bin/activate
(work1)work2% pip freeze
wsgiref==0.1.2

どうですか素晴らしいですよね. これでPythonの開発環境ごと人に渡せるはずです.

では,また( ´_ゝ`)

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中