gpt4 book ai didi

python - 设置 Virtualenv 时出现问题

转载 作者:太空狗 更新时间:2023-10-29 22:27:49 25 4
gpt4 key购买 nike

我正在尝试使用 Python 2.6.5 在 Ubuntu 10.04 上设置 virtualenv,但遇到了一些问题。

用 pip 安装 virtualenv 和 virtualenv wrapper 后,我运行命令: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'

如果我再次运行它,我会得到以下信息:

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

有什么解决办法吗?谢谢!

最佳答案

自从你问这个问题以来似乎有点过了。/vagrant 目录的 Virtualbox 文件驱动程序无法识别 virtualenv 经常使用的符号链接(symbolic link)。

这可以用一个简单的例子来最好地证明

mybox:/vagrant$ ln -s ~/.bashrc
ln: failed to create symbolic link ./.bashrc': Protocol error`

更新:

由于 vagrant 与符号链接(symbolic link)和 virtualenv 不兼容,我的 vagrant boxes/instances 是特定于任务/项目的(只有 1 个 virtualenv)。所以在 vagrant 主机端/实例文件夹中,我会保留一个简短的脚本来安装 python 和 virtualenv,然后执行

pip install -r /vagrant/requirement

可以在此处找到更多文档。 https://docs.vagrantup.com/v2/provisioning/basic_usage.html

通过适当的 bash if 检查(python 是否存在,/home/vagrant/env 是否存在),您可以提供一次您的盒子,然后附加一个调用来激活您的 ~/env 安装,这样当您登录时,您已经设置好并准备就绪。

关于python - 设置 Virtualenv 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5907359/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com