VirtualBoxのUbuntuサーバー。 VirtualEnvをインストールして、Flaskとボトルの学習を開始しようとしています。私のセットアップの詳細。
vks@UbSrVb:~$ cat /etc/os-release
NAME="Ubuntu"
VERSION="12.04.2 LTS, Precise Pangolin"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu precise (12.04.2 LTS)"
VERSION_ID="12.04"
vks@UbSrVb:~$ python --version
Python 2.7.3
vks@UbSrVb:~$ echo $VIRTUALENVWRAPPER_PYTHON
/usr/bin/python
vks@UbSrVb:~$ echo $VIRTUALENV_PYTHON
vks@UbSrVb:~$
仮想マシンを起動すると、コンソールに次のエラーが表示されます
/usr/bin/python: No module named virtualenvwrapper
virtualenvwrapper.sh: There was a problem running the initialization hooks.
If Python could not import the module virtualenvwrapper.hook_loader,
check that virtualenv has been installed for
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python and that PATH is
set properly.
Virtualenvを初期化しようとすると、次のエラーが表示されます
vks@UbSrVb:~/dropbox/venv$ virtualenv try1
New python executable in try1/bin/python3.2
Also creating executable in try1/bin/python
Traceback (most recent call last):
File "/usr/local/bin/virtualenv", line 9, in <module>
load_entry_point('virtualenv==1.9.1', 'console_scripts', 'virtualenv')()
File "/usr/local/lib/python3.2/dist-packages/virtualenv.py", line 979, in main
no_pip=options.no_pip)
File "/usr/local/lib/python3.2/dist-packages/virtualenv.py", line 1081, in create_environment
site_packages=site_packages, clear=clear))
File "/usr/local/lib/python3.2/dist-packages/virtualenv.py", line 1499, in install_python
os.symlink(py_executable_base, full_pth)
OSError: [Errno 30] Read-only file system
vks@UbSrVb:~/dropbox/venv$ ls
try1
vks@UbSrVb:~/dropbox/venv$ ls try1/
bin include lib
vks@UbSrVb:~/dropbox/venv$
私の.bashrcエントリ
export WORKON_HOME='~/dropbox/venv/'
source '/usr/local/bin/virtualenvwrapper.sh'
Q1-起動時のエラーにより、VIRTUALENVWRAPPER_PYTHON =/usr/bin/pythonにvirtualenvがインストールされ、そのPATHが正しく設定されていることを確認するにはどうすればよいですか?
Q2-Sudoを使用しても、同じ「読み取り専用ファイルシステム」エラーが発生します。
pipを使用してvirtualenvをインストールしてから、apt-getを試してみました。ヒットして試してみてください。
シンボリックリンク をサポートしていないマウントポイントにvirtualenvをインストールしようとしています。 mount
の出力を見ると、/home/yourusername/dropbox
にマウントポイントがあることがわかります。ホームディレクトリなど、別の場所を試してください。
cd
virtualenv --python=python2.7 flaskenv
(注:現在flaskはpython 2でのみ機能します)
とにかく、dropboxでvritualenvを同期しても意味がありません。同じでない限り、別のシステムでは動作しません。 pip requirements.txt files を使用して、virtualenv間で同期できます。