Lar*_*tel 15 python virtualenv windows-7
在Windows 7上遇到virtualenv问题.
我跑:
virtualenv _testenv
Run Code Online (Sandbox Code Playgroud)
它返回:
Traceback (most recent call last):
File "C:\Python27\Scripts\virtualenv-script.py", line 9, in <module>
load_entry_point('virtualenv==1.5.2', 'console_scripts', 'virtualenv')()
File "C:\Python27\lib\site-packages\virtualenv.py", line 558, in main
prompt=options.prompt)
File "C:\Python27\lib\site-packages\virtualenv.py", line 647, in create_environment
site_packages=site_packages, clear=clear))
File "C:\Python27\lib\site-packages\virtualenv.py", line 771, in install_python
copy_required_modules(home_dir)
File "C:\Python27\lib\site-packages\virtualenv.py", line 725, in copy_required_modules
dst_filename = change_prefix(filename, dst_prefix)
File "C:\Python27\lib\site-packages\virtualenv.py", line 710, in change_prefix
(filename, prefixes)
AssertionError: Filename c:\Python27\Lib\os.py does not start with any of these prefixes: ['C:\\Python27']
Run Code Online (Sandbox Code Playgroud)
我有以下环境变量:
PYTHONHOME=C:\Python27
PYTHONPATH=c:\Python27;c:\Python27\Lib
PYTHONSTARTUP=C:\Users\Larry\.pythonrc
PATH=%PYTHONHOME%\;%PYTHONHOME%\Scripts;etc
Run Code Online (Sandbox Code Playgroud)
安装ActiveState Python:
ActivePython 2.7.2.5 (ActiveState Software Inc.) based on
Python 2.7.2 (default, Jun 24 2011, 12:21:10) [MSC v.1500 32 bit (Intel)] on win32
Run Code Online (Sandbox Code Playgroud)
我更新了PYTHONPATH = C:\ Python27; C:\ Python27\Lib仍在寻找解决方案,我发现并删除了AppData/Python*.重新安装Python,现在有一个不同的错误:
C:\xbz>virtualenv _t
PYTHONHOME is set. You *must* activate the virtualenv before using it
Overwriting _t\Lib\site.py with new content
New python executable in _t\Scripts\python2.7.exe
Not overwriting existing python script _t\Scripts\python.exe (you must use _t\Scripts\python2.7.exe)
Overwriting _t\Lib\distutils\__init__.py with new content
Installing setuptools..............
Complete output from command C:\xbz\_t\Scripts\python2.7.exe -c "#!python
\"\"\"Bootstrap setuptoo...
" --always-copy -U setuptools:
Traceback (most recent call last):
File "<string>", line 278, in <module>
File "<string>", line 210, in main
File "<string>", line 132, in download_setuptools
File "C:\Python27\Lib\urllib2.py", line 94, in <module>
import httplib
File "C:\Python27\Lib\httplib.py", line 71, in <module>
import socket
File "C:\Python27\Lib\socket.py", line 47, in <module>
import _socket
ImportError: No module named _socket
----------------------------------------
...Installing setuptools...done.
Traceback (most recent call last):
File "C:\Python27\Scripts\virtualenv-script.py", line 9, in <module>
load_entry_point('virtualenv==1.5.2', 'console_scripts', 'virtualenv')()
File "C:\Python27\lib\site-packages\virtualenv.py", line 558, in main
prompt=options.prompt)
File "C:\Python27\lib\site-packages\virtualenv.py", line 654, in create_environment
install_setuptools(py_executable, unzip=unzip_setuptools)
File "C:\Python27\lib\site-packages\virtualenv.py", line 384, in install_setuptools
_install_req(py_executable, unzip)
File "C:\Python27\lib\site-packages\virtualenv.py", line 360, in _install_req
cwd=cwd)
File "C:\Python27\lib\site-packages\virtualenv.py", line 624, in call_subprocess
% (cmd_desc, proc.returncode))
OSError: Command C:\xbz\_t\Scripts\python2.7.exe -c "#!python
\"\"\"Bootstrap setuptoo...
" --always-copy -U setuptools failed with error code 1
Run Code Online (Sandbox Code Playgroud)
我攻击了Lib/socket.py并插入:
import sys
sys.path = ['', 'C:\\Python27\\lib\\site-packages\\dotcloud-0.3.1-py2.7.egg', 'C:\\Python27\\lib\\site-packages\\dotcloud.cli-0.3.1-py2.7.egg', 'C:\\Python27\\lib\\site-packages\\flask-0.7dev_20110622-py2.7.egg', 'C:\\Python27\\lib\\site-packages\\werkzeug-0.6.2-py2.7.egg', 'C:\\Python27\\lib\\site-packages\\gunicorn-0.12.2-py2.7.egg', 'C:\\Python27\\lib\\site-packages\\wtforms-0.6.3-py2.7.egg', 'C:\\Python27\\lib\\site-packages\\repoze.browserid-0.3-py2.7.egg', 'C:\\Python27\\lib\\site-packages\\paste-1.7.5.1-py2.7.egg', 'C:\\Python27\\lib\\site-packages\\django_pjax-1.0-py2.7.egg', 'C:\\Python27\\lib\\site-packages\\paramiko-1.7.7.1-py2.7.egg', 'C:\\Python27\\lib\\site-packages\\pycrypto-2.4.1-py2.7-win32.egg', 'C:\\Python27', 'C:\\Python27\\Lib', 'C:\\Windows\\system32\\python27.zip', 'C:\\Python27\\DLLs', 'C:\\Python27\\lib\\plat-win', 'C:\\Python27\\lib\\lib-tk', 'C:\\Python27\\lib\\site-packages', 'C:\\Python27\\lib\\site-packages\\PIL', 'C:\\Python27\\lib\\site-packages\\win32', 'C:\\Python27\\lib\\site-packages\\win32\\lib', 'C:\\Python27\\lib\\site-packages\\Pythonwin', 'C:\\Python27\\lib\\site-packages\\setuptools-0.6c11-py2.7.egg-info', 'C:\\Python27\\Scripts', 'C:\\Python27\\Lib\\site-packages\\django\\bin']
Run Code Online (Sandbox Code Playgroud)
以上
import _socket
Run Code Online (Sandbox Code Playgroud)
原因是我能够从直接的python提示导入套接字!因此填补了我现有的道路.我还没有缩小到哪个目录让它开心.它至少会向其他人透露为什么我没有它就会收到错误.
想法?建议?谢谢.:)
我攻击了Lib/socket.py并插入:
import sys
sys.path.append('C:\\Python27\\DLLs')
Run Code Online (Sandbox Code Playgroud)
以上
import _socket
Run Code Online (Sandbox Code Playgroud)
Mik*_*tes 30
3岁的问题,但希望这个答案仍然可以帮助某人.您可以在设置虚拟环境时将路径传递给Python安装,而不是设置环境变量(这对我来说神秘不起用).在Windows中,你必须找到python.exe,但似乎在Linux/OS X中你只是路径到该文件夹.例子:
视窗:
virtualenv -p <PATH TO PYTHON.EXE> venv
Run Code Online (Sandbox Code Playgroud)
Linux的/ Mac的:
virtualenv -p </user/path/to/python> venv
Run Code Online (Sandbox Code Playgroud)
两者都在当前目录中的子文件夹"venv"中创建虚拟环境.
oji*_*jii 13
尝试设置PYTHONPATH为PYTHONPATH=C:\Python27;C:\Python27\Lib(开头的大写C).
这可以通过键入命令提示符来完成set PYTHONPATH=C:\Python27;C:\Python27\Lib.
PYTHONPATH 一旦命令提示符窗口关闭,它将恢复到之前的状态.
当前有一个类似的问题,显示错误:
AssertionError: Filename C:\Python27\Lib\os.py does not start with any of
these prefixes: ['C:\\python27']
Run Code Online (Sandbox Code Playgroud)
区别在于'C:\ python27'为小写字母。因此,问题表现为无法安装新的virtualenv或制作嵌套的virtualenvs(有时我们会进行测试)。原因在于PYTHONPATH的内容
PYTHONPATH=C:\Python27;C:\Python27\Lib
Run Code Online (Sandbox Code Playgroud)
由于某种原因,virtualenv.py中的sys.path将返回c:\ python27,但是所需模块的路径将来自PYTHONPATH并以'C:\ Python27 \ Lib'开头,因此会引发断言错误。
长话短说,只需取消PYTHONPATH即可。
| 归档时间: |
|
| 查看次数: |
10219 次 |
| 最近记录: |