我最近重新安装了ubuntu并升级到16.04并且无法使用python:
$ python manage.py runserver
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Fatal Python error: Py_Initialize: Unable to get the locale encoding
ImportError: No module named 'encodings'
Aborted
Run Code Online (Sandbox Code Playgroud)
此时,python本身不起作用
$ python
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Fatal Python error: Py_Initialize: Unable to get the locale encoding
ImportError: No module named 'encodings'
Aborted
Run Code Online (Sandbox Code Playgroud)
即使这个建议不再有效:
unset …Run Code Online (Sandbox Code Playgroud) python development-environment virtualenv python-3.x macos-catalina
我正在编写一个程序,用于对导入模块的Python文件列表进行分类.因此,我需要扫描.py文件的集合,并返回它们导入的模块的列表.例如,如果我导入的其中一个文件包含以下行:
import os
import sys, gtk
Run Code Online (Sandbox Code Playgroud)
我希望它返回:
["os", "sys", "gtk"]
Run Code Online (Sandbox Code Playgroud)
我玩modulefinder并写道:
from modulefinder import ModuleFinder
finder = ModuleFinder()
finder.run_script('testscript.py')
print 'Loaded modules:'
for name, mod in finder.modules.iteritems():
print '%s ' % name,
Run Code Online (Sandbox Code Playgroud)
但这不仅仅返回脚本中使用的模块.作为脚本中的一个例子,它只包含:
import os
print os.getenv('USERNAME')
Run Code Online (Sandbox Code Playgroud)
从ModuleFinder脚本返回的模块返回:
tokenize heapq __future__ copy_reg sre_compile _collections cStringIO _sre functools random cPickle __builtin__ subprocess cmd gc __main__ operator array select _heapq _threading_local abc _bisect posixpath _random os2emxpath tempfile errno pprint binascii token sre_constants re _abcoll collections ntpath threading opcode _struct _warnings math shlex …Run Code Online (Sandbox Code Playgroud) 如果使用带有"pip install -e ..."的git repo进行安装,则某些下划线会变为破折号.
有没有办法阻止这个?
我想自动化东西.我想要回购foo_bar,而~/src/foo_bar不是~/src/foo-bar.