sth*_*mps 6 python django virtualenv
我正在尝试使用Python 2.6.5在Ubuntu 10.04上设置virtualenv,但有一些问题.
在用pip安装virtualenv和virtualenv包装器后,我正在运行命令:virtualenv mysite-env --verbose
我收到以下错误:
Creating mysite-env/lib/python2.6
Symlinking Python bootstrap modules
Symlinking mysite-env/lib/python2.6/lib-dynload
Symlinking mysite-env/lib/python2.6/config
Symlinking mysite-env/lib/python2.6/os.py
Ignoring built-in bootstrap module: posix
Symlinking mysite-env/lib/python2.6/posixpath.py
Cannot import bootstrap module: nt
Symlinking mysite-env/lib/python2.6/ntpath.py
Symlinking mysite-env/lib/python2.6/genericpath.py
Symlinking mysite-env/lib/python2.6/fnmatch.py
Symlinking mysite-env/lib/python2.6/locale.py
Symlinking mysite-env/lib/python2.6/encodings
Symlinking mysite-env/lib/python2.6/codecs.py
Symlinking mysite-env/lib/python2.6/stat.py
Symlinking mysite-env/lib/python2.6/UserDict.py
Symlinking mysite-env/lib/python2.6/lib-dynload/readline.so
Symlinking failed, copying to mysite-env/lib/python2.6/lib-dynload/readline.so
Traceback (most recent call last):
File "/usr/local/bin/virtualenv", line 9, in <module>
load_entry_point('virtualenv==1.6.1', 'console_scripts', 'virtualenv')()
File "/usr/local/lib/python2.6/dist-packages/virtualenv.py", line 795, in main
never_download=options.never_download)
File "/usr/local/lib/python2.6/dist-packages/virtualenv.py", line 886, in create_environment
site_packages=site_packages, clear=clear))
File "/usr/local/lib/python2.6/dist-packages/virtualenv.py", line 1020, in install_python
copy_required_modules(home_dir)
File "/usr/local/lib/python2.6/dist-packages/virtualenv.py", line 974, in copy_required_modules
copyfile(filename, dst_filename)
File "/usr/local/lib/python2.6/dist-packages/virtualenv.py", line 414, in copyfile
copyfileordir(src, dest)
File "/usr/local/lib/python2.6/dist-packages/virtualenv.py", line 391, in copyfileordir
shutil.copy2(src, dest)
File "/usr/lib/python2.6/shutil.py", line 99, in copy2
copyfile(src, dst)
File "/usr/lib/python2.6/shutil.py", line 53, in copyfile
fdst = open(dst, 'wb')
IOError: [Errno 20] Not a directory: 'mysite-env/lib/python2.6/lib-dynload/readline.so'
Run Code Online (Sandbox Code Playgroud)
如果我再次运行它,我得到以下内容:
Directory mysite-env/lib/python2.6 already exists
Symlinking Python bootstrap modules
Ignoring built-in bootstrap module: posix
Cannot import bootstrap module: nt
Symlinking mysite-env/lib/python2.6/lib-dynload/readline.so
Symlinking mysite-env/lib/python2.6/copy_reg.py
Symlinking mysite-env/lib/python2.6/types.py
Symlinking mysite-env/lib/python2.6/re.py
Symlinking mysite-env/lib/python2.6/sre.py
Symlinking mysite-env/lib/python2.6/sre_parse.py
Symlinking mysite-env/lib/python2.6/sre_constants.py
Symlinking mysite-env/lib/python2.6/sre_compile.py
Ignoring built-in bootstrap module: zlib
Symlinking mysite-env/lib/python2.6/warnings.py
Symlinking mysite-env/lib/python2.6/linecache.py
Symlinking mysite-env/lib/python2.6/_abcoll.py
Symlinking mysite-env/lib/python2.6/abc.py
Creating mysite-env/lib/python2.6/site-packages
Writing mysite-env/lib/python2.6/site.py
Writing mysite-env/lib/python2.6/orig-prefix.txt
Creating parent directories for mysite-env/include
Symlinking mysite-env/include/python2.6
Creating mysite-env/bin
New python executable in mysite-env/bin/python
Changed mode of mysite-env/bin/python to 0755
Testing executable with mysite-env/bin/python -c "import sys; print(sys.prefix)"
ERROR: The executable mysite-env/bin/python is not functioning
ERROR: It thinks sys.prefix is u'/usr' (should be '/vagrant/mysite-env')
ERROR: virtualenv is not compatible with this system or executable
Run Code Online (Sandbox Code Playgroud)
任何想法如何解决这一问题?谢谢!
看起来有点像你问过这个问题./ vagrant目录的Virtualbox文件驱动程序无法识别virtualenv大量使用的符号链接.
这可以通过简单的方式得到最好的证明
mybox:/vagrant$ ln -s ~/.bashrc
ln: failed to create symbolic link ./.bashrc': Protocol error`
Run Code Online (Sandbox Code Playgroud)
更新:
由于流浪汉与符号链接和virtualenv不兼容,我的流浪盒/实例是任务/项目特定的(只有1个virtualenv).所以在vagrant host side/instance文件夹中我会保留一个简短的脚本来安装python&virtualenv,然后再做
pip install -r /vagrant/requirement
Run Code Online (Sandbox Code Playgroud)
可在此处找到更多文档.https://docs.vagrantup.com/v2/provisioning/basic_usage.html
用适当的bash if核对(蟒蛇存在,并/家庭/流浪者/ env的存在),你可以提供你的盒子一次,然后附加一个电话来激活您的〜/ env的安装,这样,当你登录,您已经安装并准备走.
我还没有遇到过这个特定的问题,但我个人已经从使用virtualenv转向pythonbrew. pythonbrew是同一问题的不同解决方案;它的工作方式更像rvm是 Ruby 社区:它从头开始构建完全独立的 Python 版本$HOME/.pythonbrew;然后,它提供了 shell 功能,使您可以轻松地从一个外壳切换到另一个外壳(为您编辑路径等)。它不像 那样轻量级virtualenv,但它也不依赖于 Python 系统,因此整个符号链接问题就消失了。您还可以安装多个 Python 版本,即使它们未安装在基本系统中。
当然,你的里程可能会有所不同,但pythonbrew对我来说效果很好。
| 归档时间: |
|
| 查看次数: |
7271 次 |
| 最近记录: |