2015-11-25 11 views
7

PyCharm 5 में पर मैक ओएस एक्स एल इस रनिंग कैप्टन 10.11.1 का उपयोग करते समय (यह PyCharm 4.5 में ठीक काम कर रहा था)क्यों PyCharm पर एक मैक को हटाने/usr/स्थानीय/bin एक अजगर आभासी वातावरण

import os 
print("PATH:", os.environ.get("PATH")) 
है

अगर मैं प्रणाली के अजगर को PyCharm की परियोजना दुभाषिया सेट के साथ इस कार्यक्रम को चलाने: /Library/Frameworks/Python.framework/Versions/3.4/bin/python3, यहाँ है उत्पादन मैं:

PATH: /Users/agautam/bin:/Library/Frameworks/Python.framework/Versions/3.4/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin 

अगर मैं परियोजना दुभाषिया एक आभासी वातावरण /Users/agautam/work/my-awesome-py-project/venv/bin/python3 मैं पाने के लिए सेट के साथ एक ही कार्यक्रम चलाने :

PATH: /usr/bin:/bin:/usr/sbin:/sbin:/Users/agautam/work/my-awesome-py-project/venv/bin 

मुद्दा: कि /usr/local/bin लापता है जब मैं एक आभासी वातावरण का उपयोग जाता है।

यहाँ कैसे आभासी env बनाया जाता है:

import sys, platform, subprocess 
from os.path import dirname, join 

root_path = join(dirname(__file__), '../..') 
venv_path = join(root_path, 'venv') 


def build_virtual_environment(): 
    print("Building virtual env from Python version", sys.version) 

    # Create a fresh virtual env 
    import venv 
    builder = venv.EnvBuilder(with_pip=True) 
    builder.create(venv_path) 

    # Install dependencies in new virtual env 
    run_in_venv('python', ['-m', 'pip', 'install', '--upgrade', 'pip']) # Upgrade pip itself 
    run_in_venv('pip', ['install', '-r', join(root_path, 'requirements.txt')]) 


def run_in_venv(cmd, args): 
    if platform.system() == 'Windows': 
     cmd += '.exe' 
     virtual_env_bin_path = r'venv/Scripts' 
    else: 
     virtual_env_bin_path = r'venv/bin' 

    subprocess.check_call([join(root_path, virtual_env_bin_path, cmd)] + args) 


if __name__ == '__main__': 
    build_virtual_environment() 

अतिरिक्त जानकारी: कमांड लाइन से अजगर दुभाषिए चल रहा है ठीक उसी परिणाम (ताकि ऐसा लगता है इसकी एक pycharm मुद्दा):

$ /Library/Frameworks/Python.framework/Versions/3.4/bin/python3 
Python 3.4.0 (v3.4.0:04f714765c13, Mar 15 2014, 23:02:41) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import os 
>>> os.environ.get("PATH") 
'/Users/agautam/bin:/Library/Frameworks/Python.framework/Versions/3.4/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin' 
>>> 

$ ./venv/bin/python3 
Python 3.4.0 (v3.4.0:04f714765c13, Mar 15 2014, 23:02:41) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import os 
>>> os.environ.get("PATH") 
'/Users/agautam/bin:/Library/Frameworks/Python.framework/Versions/3.4/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin' 
>>> 

कोई भी मदद/सूचना/पॉइंटर्स की अत्यधिक सराहना की जाएगी।

+0

क्या आपने कभी यह पता लगाया है? –

+0

नहीं। वर्कअराउंड - रन कॉन्फ़िगरेशन में/usr/local/bin जोड़ें। –

+0

@AjayGautam, क्या आप एक्स एक्स को रन कॉन्फ़िगरेशन के साथ जोड़ सकते हैं? यह भी एक जवाब हो सकता है ... –

उत्तर

0

यह जेटब्रेन, PY-17816 पर एक बग के रूप में रिपोर्ट किया गया था। अब यह release notes प्रति 2017.1.2 रिलीज (संस्करण 171.424 9.47) के रूप में तय किया गया है।

संबंधित मुद्दे