2014-09-11 2 views
0

저는 Linux를 처음 사용합니다. 나는 Lubuntu 14.04를 사용하고있다. 파이썬 버전은 2.7.6입니다.WebStorm이 Lubuntu 시작 오류 14.04

내가 다음 위치에 WebStorm 8을 설치 한 :

./webstorm.sh 

그것은 나에게 다음과 같은 오류 제공 :

Traceback (most recent call last): 
    File "/usr/lib/python2.7/site.py", line 68, in <module> 
    import os 
    File "/usr/lib/python2.7/os.py", line 398, in <module> 
    import UserDict 
    File "/usr/lib/python2.7/UserDict.py", line 83, in <module> 
    import _abcoll 
    File "/usr/lib/python2.7/_abcoll.py", line 11, in <module> 
    from abc import ABCMeta, abstractmethod 
    File "/usr/lib/python2.7/abc.py", line 8, in <module> 
    from _weakrefset import WeakSet 
ImportError: No module named _weakrefset 

I를

[email protected]:/usr/opt/webstorm/bin$ 

내가 bin 폴더에서 다음 명령을 실행할 다음 명령을 사용하여 "weakrefset"을 설치했습니다 (성공적인 설치 메시지가 나타납니다).

sudo pip install weakrefset 

하지만 여전히 문제가 있으며 Webstorm이 시작되지 않습니다.

#!/usr/bin/python 

import socket 
import struct 
import sys 
import os 
import time 

# see com.intellij.idea.SocketLock for the server side of this interface 

RUN_PATH = '/usr/opt/webstorm/bin/webstorm.sh' 
CONFIG_PATH = '/home/david/.WebStorm8/config' 

args = [] 
skip_next = False 
for i, arg in enumerate(sys.argv[1:]): 
    if arg == '-h' or arg == '-?' or arg == '--help': 
     print(('Usage:\n' + \ 
       ' {0} -h |-? | --help\n' + \ 
       ' {0} [-l|--line line] file[:line]\n' + \ 
       ' {0} diff file1 file2').format(sys.argv[0])) 
     exit(0) 
    elif arg == 'diff' and i == 0: 
     args.append(arg) 
    elif arg == '-l' or arg == '--line': 
     args.append(arg) 
     skip_next = True 
    elif skip_next: 
     args.append(arg) 
     skip_next = False 
    else: 
     if ':' in arg: 
      file_path, line_number = arg.rsplit(':', 1) 
      if line_number.isdigit(): 
       args.append('-l') 
       args.append(line_number) 
       args.append(os.path.abspath(file_path)) 
      else: 
       args.append(os.path.abspath(arg)) 
     else: 
      args.append(os.path.abspath(arg)) 

def launch_with_port(port): 
    found = False 

    s = socket.socket() 
    s.settimeout(0.3) 
    try: 
     s.connect(('127.0.0.1', port)) 
    except: 
     return False 

    while True: 
     try: 
      path_len = struct.unpack(">h", s.recv(2))[0] 
      path = s.recv(path_len) 
      path = os.path.abspath(path) 
      if os.path.abspath(path) == os.path.abspath(CONFIG_PATH): 
       found = True 
       break 
     except: 
      break 

    if found: 
     if args: 
      cmd = "activate " + os.getcwd() + "\0" + "\0".join(args) 
      encoded = struct.pack(">h", len(cmd)) + cmd 
      s.send(encoded) 
      time.sleep(0.5) # don't close socket immediately 
     return True 

    return False 

port = -1 
try: 
    f = open(os.path.join(CONFIG_PATH, 'port')) 
    port = int(f.read()) 
except Exception: 
    type, value, traceback = sys.exc_info() 
    print(value) 
    port = -1 

if port == -1: 
    # SocketLock actually allows up to 50 ports, but the checking takes too long 
    for port in range(6942, 6942+10): 
     if launch_with_port(port): exit() 
else: 
    if launch_with_port(port): exit() 

if sys.platform == "darwin": 
    # Mac OS: RUN_PATH is *.app path 
    if len(args): 
     args.insert(0, "--args") 
    os.execvp("open", ["-a", RUN_PATH] + args) 
else: 
    # unix common 
    bin_dir, bin_file = os.path.split(RUN_PATH) 
    os.chdir(bin_dir) 
    os.execv(bin_file, [bin_file] + args) 

누군가가 나에게이 문제를 해결하기 위해 안내 할 수 다음과 같이

WebStrom.sh이다.

답변

0

문제는 파이썬 스크립트 쉘 스크립트를 대체 (아마도 webstorm.sh를 교체하기 때문에 다른 일을 수행하는 "만들기 바탕 화면 항목"을 실행에 의해 불려보기 작동하지 않았다).

설치 디렉토리를 삭제하고 다운로드 한 파일을 다시 압축하여 문제를 해결했습니다.

관련 문제